当我将代码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");

10-05 21:24