版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zfs2008zfs/article/details/52782697
通知(Notification)是Android系统中比较有特色的一个功能。《第一行代码》中关于通知的例子如下:
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher, "This is ticker text", System.currentTimeMillis());
notification.ledARGB = Color.GREEN;
notification.ledOnMS = 1000;
notification.ledOffMS = 1000;
notification.flags = Notification.FLAG_SHOW_LIGHTS;
Intent intent = new Intent(this, NotificationActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(this, "This is content title",
"This is content text", pi);
manager.notify(1, notification);
低于API Level 11版本,也就是Android 2.3.3以下的系统中,setLatestEventInfo()函数是唯一的实现方法。
高于API Level 11,低于API Level 16 (Android 4.1.2)版本的系统中,可使用Notification.Builder来构造函数。但要使用getNotification()来使notification实现。此时,前面版本在notification中设置的Flags,icon等属性都已经无效,要在builder里面设置。
高于API Level 16的版本,就可以用Builder和build()函数来配套的方便使用notification了。
例子如下:
NotificationCompat.Builder notificationBuilder=new NotificationCompat.Builder(MainActivity.this);
notificationBuilder.setContentTitle(Build.PRODUCT);
notificationBuilder.setContentText(Build.MANUFACTURER);
notificationBuilder.setWhen(System.currentTimeMillis());
notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
notificationBuilder.setAutoCancel(true);
notificationBuilder.setContentIntent(pi);
Notification notification=notificationBuilder.build();
notification.ledARGB= Color.GREEN;
notification.ledOnMS=1000;
notification.ledOffMS=1000;
notification.sound= Uri.fromFile(new File("/system/media/audio/ringtones/Basic_tone.ogg"));
manager.notify(1,notification);
参考链接:http://blog.csdn.net/vipzjyno1/article/details/25248021
http://www.piaoyi.org/mobile-app/Android-setLatestEventInfo-Handler-SimpleDateFormat.html