Notification 可以起到通知、提醒的作用,是显示在屏幕上方状态栏中的信息.
创建并显示一个Notification 需要 5 个步骤:
一. 通过getSystemService 方法获得一个 NotificationManager 对象
二. 创建一个Notification 对象,需要设置显示在屏幕上方状态栏的通知消息、通知消息前方的图像资源ID 和发出通知的时间,一般为当前时间
三. Notification 可以与应用程序脱离,创建一个PendingIntent 对象,该对像由Android 负责维护,因此在应用程序关闭后,该对象仍然不会被释放
四. 使用Notification 的setLatestEventInfo方法设置Notification 的详细信息.
在显示Notification时还可以设置显示通知时的默认发声、震动和Light效果。设置如下:
notification.defaults = Notification.DEFAULT_SOUND; //声音
notification.defaults = Notification.DEFAULT_VIBRATE; //震动
notification.defaults = Notification.DEFAULT_LIGHTS; //默认的Light
notification.defaults = Notification.DEFAULT_ALL; //所有的默认值
设置defaults属性必须在调用notify之前调用,否则不起作用.
在设置默认震动效果时还需要在AndroidManifest.xml文件中通过<uses-permission>标签设置android.permission.VIBRATE权限.
五. 使用NotificationManager 类的notify方法显示Notification消息,这一步需要指定标识Notification的唯一ID,
具体代码如下:
NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon,"您有新消息了",System.currentTimeMillis());
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,getIntent(),0);
notification.setLatestEventInfo(this,"天气预报","晴转多云",pendingIntent);
notificationManager(R.drawable.icon.notification);
示意图如下:
具体代码请参见 toast_and_notification 工程