Android中常常会进行自定义布局的通知样式,那就需要使用RemoteViews进行布局,PendingIntent进行处理点击事件。这些都不多说了,这里主要说的是在Android5.1上不显示图标的问题。
布局里的ImageView也进行设置了图标,代码里设置了:
_Builder.setSmallIcon(R.drawable.ic_noti_small); 和_RemoteViews.setImageViewResource(R.id.cooling_icon, R.drawable.app_icon);
在Android6.0上显示没有问题,但是Android5.1上就是不显示图标。
真的很痛苦,这么逆天,怎么办呀找Google呀,结果没有找到解决办法,那去官网的文档看看,也不行。
不过发现了_RemoteViews.setImageViewResource(int viewId, int srcId)和 setImageViewBitmap(int viewId, Bitmap bitmap)这两个函数。反正不知道什么原因,就尝试了一下,哎呦,setImageViewBitmap(int viewId, Bitmap bitmap)这个竟然起作用的,图标出来了。
看样子又是Android5.1的一个BUG。故这样写就能解决问题了。
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1){
_RemoteViews.setImageViewResource(R.id.cooling_icon, R.drawable.app_icon);
}else {
_RemoteViews.setImageViewBitmap(R.id.cooling_icon, BitmapFactory.decodeResource(pService.getResources(), R.drawable.app_icon));
}
哎,伤不起呀。
下一篇,我来分享一下,通知栏颜色适配的问题。
文章评论
Embora adore o grande deus da Razão e da Ciência, o Joaquim Couto não percebe nada de filosofia - a sua mente é muito pouco, digamos, filosófica. Esuc§plaÃeão, se calhar só na área financeira...
ZdravÃm ,v prvé Å™adÄ› chci podÄ›kovat za tento blog, je pro mne zajÃmavým zdrojem inspirace inspirace a zároveň odreagovánÃm po celodennÃm shonu.Zadruhé chci upozornit, že na stránce “Kdo je chalupář?” se nekorektnÄ› zobrazuje odkaz a javascript pro sledovánà twitteru. (Win XP SP3, Google Chrome) … HTML i Javascript je v textu zobrazen textovÄ›, chybà aktivnà od:28k“&#za20;