Notification是显示在手机状态栏的通知,手机状态栏位于手机屏幕的最上方,用来显示手机网络状态,电池状态,时间等。Notification是一种具有全局效果的通知,程序中通过 NotificationManager服务来发送Notification。Notification是一个系统的服务。
通知创建的方法可以分以下几步:
调用getSystemService(NOTIFICATION_SERVICE),获取服务。
通过构造器构造一个Notification对象。
调用服务发送Notification
一个简单的例子
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification.Builder(MainActivity.this)
.setDefaults(Notification.DEFAULT_ALL)
.setAutoCancel(true)
.setContentTitle("我是title")
.setContentText("我是内容我是内容我是内容我是内容")
.setSmallIcon(R.drawable.j1)
.setContentIntent(PendingIntent.getActivity(MainActivity.this, 1, new Intent(MainActivity.this, MainActivity.class), PendingIntent.FLAG_CANCEL_CURRENT)).build();
notificationManager.notify(1, notification);
这里需要理解的
1.setDefaults()用来提醒,一般可以有铃声、闪光灯、震动。
Notification.DEFAULT_ALL:铃声、闪光、震动均系统默认。
Notification.DEFAULT_SOUND:系统默认铃声。
Notification.DEFAULT_VIBRATE:系统默认震动。
Notification.DEFAULT_LIGHTS:系统默认闪光。
2.PendingIntent和Intent区别
PendingIntent表示将要发生的意图,而Intent是立马发生的意图。这里用的是PendingIntent。
PendingIntent可以通过它的静态方法getXxx()来实例化,参数依次是(context,requestCode,Intent,flag)
关于flag有以下几个值
FLAG_CANCEL_CURRENT:如果构建的PendingIntent已经存在,则取消前一个,重新构建一个。
FLAG_NO_CREATE:如果前一个PendingIntent已经不存在了,将不再构建它。
FLAG_ONE_SHOT:表明这里构建的PendingIntent只能使用一次。
FLAG_UPDATE_CURRENT:如果构建的PendingIntent已经存在,则替换它,常用。
取消该通知
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancel(1);
效果如下

尊重作者,转载请注明出处!
版权申明:本文版权归作者所有,未经授权,任何单位或个人不得以任何形式转载、摘编或利用其它方式使用本博客内容。作者保留追究相关法律责任的权利。如需使用博客内容,请与作者联系获得授权。感谢对本文的尊重与支持。
免责声明:本网站所载内容仅供参考,不构成任何专业建议。用户基于本网站内容作出的决策,风险自担。对于因使用本网站内容而产生的任何直接或间接损失,本网站不承担任何责任。请用户审慎判断,理性使用。