当我将代码mNotificationBuilder.setLargeIcon(BitmapFactory.decodeResource( getResources(), R.drawable.ic_large_icon));
添加到我的通知中时,它会停止工作,不会出现错误或警告。这只发生在Lollipop之前,Lollipop之外,它的效果很好。与“作品”我的意思是通知显示。NotificationCompat.Builder setLargeIcon()不工作?
我的示例代码:
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);
mBuilder.setSmallIcon(R.drawable.icon);
mBuilder.setContentTitle("Content Title");
mBuilder.setContentText("Content Text");
mBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_large_icon));
startForeground(1, mBuilder.build());
我试图加载方式不同的位图,但一直没有... 的图标为128×128所以它的大小不应该是一个问题吗?
我也尝试了不同的id,但都没有解决这个问题。
我会非常乐意提供任何建议,请任何推动正确的方向将意味着我的世界。
编辑1#
该通知是由机构出具。该服务处于活动状态,Log打印告诉我“startForeground()”运行后的代码。
“的图标为128×128所以它的大小不应该是一个问题吗?” - 你有什么目录(或多个目录)? – CommonsWare
Res/drawable,也尝试使用Android Asset Studio(按罗马)将多个分辨率放入不同的子目录。但它也没有帮助。它有可能在什么地方放置? 要尝试使用常规NotificationManager类而不是“startForeground()”,但如果这是造成问题的原因,那将会很奇怪。 –
'res/drawable /'几乎从来都不是正确的答案。这是'res/drawable-mdpi /'的同义词,因此您的映像将在更高密度的设备上进行升级。因此,在真正高密度的设备上,以128x128开始的映像可能会升至512x512,届时您将超过1MB IPC事务大小限制。你可能想看看你从'decodeResource()'返回的'Bitmap'。 – CommonsWare