当我将代码 mNotificationBuilder.setLargeIcon(BitmapFactory.decodeResource(
getResources(), R.drawable.ic_large_icon));
添加到我的通知时,它停止工作,没有错误或警告。这只发生在 pre-Lollipop 上,在 Lollipop 上以及以后它都很好用。对于“有效”,我的意思是通知出现了。
我的示例代码:
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());
我尝试以不同的方式加载位图,但它总是失败…图标是 128x128,所以它的大小应该不是问题?
我也尝试过不同的 ID,但都没有解决问题。
如果有任何建议,我将非常感激,请向正确的方向推进对我来说意味着世界。
编辑 1#
此通知由服务发出。该服务处于活动状态,日志打印告诉我“startForeground()”运行后的代码。
原文由 Matti Torvaldsson 发布,翻译遵循 CC BY-SA 4.0 许可协议
您必须先设置大图标,然后再设置小图标。
在我的例子中,这段代码有效: