NotificationCompat.Builder中setSmallIcon()的问题

  这几天遇到学习notification的时候遇到很多小问题,单单是复制下api文档上面的源代码都会出各种问题。本人手机是华为的。开始是状态栏不显示notification的问题,后来通过升级系统,卸载全部的清理软件才显示出来(应该是这些手机清理软件自动的把一些notification给隐藏了,比如360清理大师)。然后有遇到了新的问题,就是调用builder的setSmallIcon()方法没有效果,然而这些在Android官方手机系统上面是都没有问题的。就开始怀疑是各个手机厂商定制Android系统的原因。在网上搜了下,不止华为手机有这种问题,其他手机,比如小米的MIUI的一些系统也出现了同样的问题。在这些手机上调用该方法是无效的,无法改变通知栏的icon图标。默认的notification图标就是我们的应用的图标。我又在各种手机上试验了下各种效果,分别为华为6.0系统,Android官方6.0系统和Android官方4.4.2系统。代码如下:

1 Bitmap abcd =  BitmapFactory.decodeResource(getResources(), R.drawable.abcd);
2          
3         NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
4                 MainActivity.this).setSmallIcon(R.drawable.abc)
5                 .setContentTitle("我的notification").setContentText("嘿嘿嘿嘿嘿嘿")
6                 .setLargeIcon(abcd);

其中:图片abc为facebook的图标,abcd为一个小女孩。

效果依次如下:

可以看到效果差异之大。在华为手机上是被大图标覆盖。小图标默认显示的是应用的icon,而Android官方6.0是首先在通知栏显示小图标,然后滑下来之后是在大图标的右下角显示小图标,而Android4.4.2系统是在通知栏显示小图标,滑下来之后左边显示大图标,右边显示小图标。

 

转载于:https://www.cnblogs.com/myorange/p/5535512.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值