首先使用NOTIFICATION_SERVICE创建一个NotificationManager
NotificationManager manager = (NotificationManager) getSystemService(
NOTIFICATION_SERVICE);
然后使用Notification.Builder创建一个builder,在builder中能使用很多方法
Notification.Builder builder =
new Notification.Builder(MainActivity.
this);
builder.setContentTitle(
"New Notification");
//通知的标题
builder
.setContentText(
"Notification content"
);
//通知的内容
builder.setSmallIcon(R.drawable.
ic_audiotrack_black_24dp); //设置通知顶部的样式,部分手机系统使其失效,如MIUI
builder.setLargeIcon(bitmap); //设置通知下拉后通知中显示的样式,部分手机系统使其失效,如MIUI(大图标需要使用Bitmap的对象)
builder.setTicker(
"notification coming");
//通知出现时向上翻显示的内容,Android L后不支持
builder.setAutoCancel(
true);
//点击后消失
最后调用builder 的build()方法,创建一个通知
Notification notification = builder.build();
使用NotificationManager的notify()方法,将通知显示到通知栏上
manager.notify(
1,notification); //1是通知的id号,如果一个应用id号相同的id,后面的会替换掉前面的
notify方法可以设置一个String类的tag值,当有tag值时,只有一个应用的消息的tag和id都相同时,才会存在新的通知替代旧的,比如即时通信类app,可以用一个单一的id作为消息类型来区分是联系人来信还是系统推送广告,使用tag来区分不同的联系人的消息
manager.cancel(1); //通过id号取消对应的通知,当通知有tag时,需要传入tag才能取消