赞
踩
书上有关于通知栏的说法 已经过时了 是时候来点新东西啦
状态通知栏主要涉及到2个类: Notification 和 NotificationManager
Notification为通知信息类,它里面对应了通知栏的各个属性;NotificationManager : 是状态栏通知的管理类,负责发通知、清除通知等操作。
NotificationManager 是一个系统Service,所以必须通过 getSystemService(NOTIFICATION_SERVICE)方法来获取:
NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//从系统获取
当你要发表通知时,要使用notify(int, Notification)把Notification传递给NotificationManager。方法的第一个参数是通知的唯一的ID,第二个参数就是Notification对象。ID唯一地标识了通知是来自你的应用程序。如果你需要更新通知或者(如果你的应用管理不同种类的通知)当用户通过通知中定义的intent返回到你的应用时,选择合适的action,那么ID就是必需的。
private static final int HELLO_ID = 1;
mNotificationManagerr.notify(HELLO_ID, mBuilder.build());
Notification
NotificationCompat.Builder mBuilder= new NotificationCompat.Builder(context);
Intent notificationIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com"));
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
mBuilder.setContentTitle("My notification")//设置通知栏标题
.setContentText("Hello World!") //设置通知栏显示内容
.setContentIntent(contentIntent) //设置通知栏点击意图
.setTicker("hello ,you have a notification") //通知首次出现在通知栏,带上升动画效果的
.setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间
.setSmallIcon(R.drawable.notifi);//设置通知小ICON
intent 和 pendingintent 的作用在于 我们点击通知栏会发生什么 意图去哪里
mBuilder 是用来构建通知栏的样子的;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。