创建通知
思路:首先发送通知需要通过 NotificationManager.notify()
来实现,该方法的一个必要参数是Notification对象,Notification对象描述了通知的具体内容,构建该对象需要利用Notification.Builder类,Notification.Builder是Android3.0 (API 11) 引入的,为了兼容低版本,我们一般使用Support V7包提供的NotificationCompat.Builder来构建Notification。
演示代码如下:
//先创建NotificationCompat.Builder实例
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
/**
*设置通知的基本信息
*/
//设置小图标
builder.setSmallIcon(R.drawable.notification_icon);
//设置标题
builder.setContentTitle("My Notification");
//设置内容
builder.setContentText("Hello Notification!");
/**
*设置通知的点击行为
*/
Intent intent = new Intent(context, ResultActivity.class);
//创建PendingIntent实例
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
//设置意图
builder.setContentIntent(pendingIntent);
/**
*发送通知
*/
//通过Activity中getSystemService()方法获取NotificationManager实例
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//通过NotificationCompat.Builder.build()方法获取Notification实例
Notification notification = builder.build();
//通过NotificationManager的notify()方法发送通知
notificationManager.notify(1, notification);
更新通知
要想更新通知,需要利用NotificationManager.notify()
的id参数,该id在应用内需要唯一。要想更新特定id的通知,只需要创建新的Notification,并发出与之前所用id相同的Notification。如果之前的通知仍然可见,则系统会根据新的Notification对象的内容更新该通知。相反,如果之前的通知已被清除,系统则会创建一个新通知。
删除通知
删除通知可以有多种方式:
1. 通过NotificationCompat.Builder
设置setAutoCancel(true)
,这样当用户点击通知后,通知自动删除。
2. 通过NotificationManager.cancel(id)
方法,删除指定id的通知 。
3. 通过NotificationManager.cancelAll()
方法,删除该应用的所有通知。