Android Notification.setLatestEventInfo弃用和Notification.Builder用法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_28676875/article/details/50590602

今天在学习小米便签的源码的时候,至于源码的地址,http://m.blog.csdn.net/article/details?id=50544248 ,里面有好多github的开源项目,打开项目,报错2处,一处就是便是找不到setLatestEventInfo()这个方法,我用的api6.0编译的,在这个api这个方法时被弃用的,采用Notification.Builder来代替,
原来的用法:1首先是拿到NotificationManager这个管理类实例,

mNotifiManager = (NotificationManager) mContext
                .getSystemService(Context.NOTIFICATION_SERVICE);
2.创建Notification实例,第一个参数是传入通知的图片,第二个是传入通知的标题,这里采用的getString的方法,顺带一提,getString方法时通过参数tickerId来调用xml文件里的常量,一般这个值为R.String.xxx
Notification notification =new Notification(R.drawable.notification, mContext.getString(tickerId), System.currentTimeMillis())

3调用setLatestEvent(xx),里面有四个参数,分别是context,标题,内容,和pendingIntnet 4个参数

notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content,
                pendingIntent);

4.d调用NotificationManager的notify(xx)方法,接收两个参数一个id,可用于取消通知的时候用,另一个是Notification的实例

新的:在APi6.0时方法2,和3步骤被弃用,用过Notification.Builder来创建,直接来看官方的提供代码例程吧`

 Notification noti = new Notification.Builder(mContext)
         .setContentTitle("New mail from " + sender.toString())
         .setContentText(subject)
         .setSmallIcon(R.drawable.new_mail)
         .setLargeIcon(aBitmap)
         .build();

他是通过穿件一个Notification.Builder对象,并对这个对象进行设置,然后调用build方法来返回一个Notification对象,最后再执行上述第四个步骤,这里要注意的是,替代setLatestEventInfo(xxx)方法除了上述设置标题和内容,里面还有一个setContentIntent(pendingIntent)来设置点击通知后调用的Intent,还有其他方法详见Android官方文档http://developer.android.com/reference/android/app/Notification.Builder.html

修改:上面谷歌官方文档需要翻墙才能进,这年谷歌有个中国开发者网站这里

阅读更多
换一批

没有更多推荐了,返回首页