天天看点

Notification基本用法总结

  • 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);
           

【注意】

  1. Notification其他属性都可通过set方法进行设置
  2. 不要忘记build()
  3. 因为Notification中请求了系统的闪光灯,震动等权限,记得申请权限
  4. 一定要设置SmallIcon不然Notification显示不出来...(听说的,未验证)