![](/img/trans.png)
[英]Glide and NotificationCompat.Builder setLargeIcon()
[英]NotificationCompat.Builder setLargeIcon() not working?
当我添加代码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#
该通知是从服务发出的。 该服务处于活动状态,并且日志打印告诉我运行“startForeground()”之后的代码。
您必须先设置大图标,然后再设置小图标。
在我的情况下,此代码正在运行:
mBuilder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_message));
mBuilder.setSmallIcon(R.mipmap.ic_message);
mBuilder.setContentTitle("Inbox");
mBuilder.setContentText("New message received");
在 Lolipop 之前,没有用于通知的大图标。 小图标应为 64x64,在创建时请记住,它将呈现两种颜色:白色和透明。
NotificationCompat.Builder mBuilder;
if (SystemTools.isAndroidApiVersionBeforeLollipop()) {
mBuilder =
new NotificationCompat.Builder(context)
.setContentIntent(pendingIntent)
.setSmallIcon(iconRid)
.setColor(ContextCompat.getColor(context, R.color.transparent))
.setContentTitle(caption)
.setContentText(text)
.setOngoing(true)
.setWhen(0)
.setPriority(NotificationCompat.PRIORITY_LOW)
;
} else {
mBuilder =
new NotificationCompat.Builder(context)
.setContentIntent(pendingIntent)
.setSmallIcon(iconRid)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), bigIconRid))
.setColor(ContextCompat.getColor(context, R.color.transparent))
.setContentTitle(caption)
.setContentText(text)
.setOngoing(true)
.setWhen(0)
.setPriority(NotificationCompat.PRIORITY_LOW)
;
}
同样,您可以使用:
.setLargeIcon(Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.icon128), 128, 128, false))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.