- Notification API位于应用程序框架层,App可以通过NotificationManager向系统发送全局通知。
- 这里不过多赘述属性设置,在下面的代码里简要说明
//-----NotificationManager-----获取系统的Notification服务
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//-----PendingIntent-----单机时将会启动该intent
Intent intent = new Intent(NotificationTest.this, NextActiviyt.class);
PendingIntent pd = PendingIntent.getActivity(this, 0, intent, 0);
//-----Notification-----
//不推荐使用:Notification nf = new Notification(R.drawable.ic_launcher,"this mini test", System.currentTimeMillis());
Notification nf = new Notification.Builder(this)
.setAutoCancel(true) //打开通知后自动消失
.setTicker("this is mini text")
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("this is content title")
.setContentText("this is content text")
.setDefaults(Notification.DEFAULT_SOUND|Notification.DEFAULT_LIGHTS) //使用系统默认的声音和LED灯
//.setSound(Uri.parse("android.resource://com.zmltext.ui/"+R.raw.nfsound)) //自定义通知声音
.setWhen(System.currentTimeMillis())
.setContentIntent(pd) //将要启动的intent
.build();
//-----发送消息通知-----
nm.notify(NOTIFICATION_ID, nf);
//-----消除通知-----
nm.cancel(NOTIFICATION_ID);
【注意】
- Notification其他属性都可通过set方法进行设置
- 不要忘记build()
- 因为Notification中请求了系统的闪光灯,震动等权限,记得申请权限
- 一定要设置SmallIcon不然Notification显示不出来...(听说的,未验证)