Android 开发笔记二 Notification 的使用
Notification 就是Android系统的消息.
用来显示 一些提示,主要是Service 的提示等等 .
1. 得到NotificationManager 消息管理者, 它来负责消息的显示与移除操作
NotificationManager notiManager = (NotificationManager)getSystemService(MainActivity.NOTIFICATION_SERVICE);
2.创建你的Notification 使用 Notification的内部类 Builder :
官方例子:
Notification noti = new Notification.Builder(mContext) .setContentTitle("New mail from " + sender.toString()) .setContentText(subject) .setSmallIcon(R.drawable.new_mail) .setLargeIcon(aBitmap) .build();
setContentTitle : 设置消息的标题
setContentText : 设置消息的内容
setSmallIcon : 设置消息的图标 *** 注意: 这个一定要设置, 不然会被忽略掉 ***
最后使用 它的 方法 builde() 来生成 Notification 对象
如果你只是简单的一个提示.上面的功能就够用了. 生成一个默认样式的消息对象, 如果你想自己定义 消息显示的样子的话, 你需要自己创建一个 消息的部局文件 my_notification_layout.xml
然后需要设置
setContent(new RemoteViews("部局文件所在的包名",R.layout.xxx)) : 设置自定义的消息样式
你还可以设置用户点击了这个消息之后 你想做的一些操作
setContentIntent(PendingIntent) : 这里用到了 PendingItent,它是对Intent的封装,意思是这个Intent不立即执行,而是用户点击之后再执行这个Intent对象
这样创建,先生成一个普通 的Intent对象
Intent intent = new Intent;
// 如果是打开一个Activity
intent.setClass(xx.this,xx.class);
// 或者打开某个系统事件 比如打开系统设置面板
intent.setAction("android.settings.SETTINGS"");
再将这个intent封闭到 PendingIntent 里面.
PendingIntent pIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
3.显示消息 或移除 消息
notiManager.notify(1,noti);
移除消息 id
nofiManager.cancel(1);
移除所有
notiManager.cancelAll();