当我将代码mNotificationBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_large_icon));
添加到我的通知中时,它会停止工作而不会出现错误或警告。这仅发生在棒棒糖之前,棒棒糖上,而且效果很好。所谓“有效”,是指该通知显示出来。
我的示例代码:
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#
该通知是从服务发出的。该服务还处于 Activity 状态,并且日志打印告诉我运行“startForeground()”之后的代码。
最佳答案
您必须先设置大图标,然后再设置小图标。
就我而言,此代码有效:
mBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_message));
mBuilder.setSmallIcon(R.mipmap.ic_message);
mBuilder.setContentTitle("Inbox");
mBuilder.setContentText("New message received");