gpt4 book ai didi

android - NotificationCompat.setLargeIcon(Bitmap) 未显示

转载 作者:行者123 更新时间:2023-11-30 00:04:28 26 4
gpt4 key购买 nike

我正在处理通知。但是 setLargeIcon(Bitmap) 方法不起作用。这是我的代码 fragment :

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder notificationCompatBuilder = new NotificationCompat.Builder(this, "chanel1103")
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_music_player))
.setSmallIcon(android.R.drawable.ic_lock_idle_alarm)
.setContentTitle(getString(R.string.noti_title))
.setContentText(getString(R.string.noti_content));
.setSubText(getString(R.string.noti_sub_text));

if (notificationManager != null) {
notificationManager.notify(1, notificationCompatBuilder.build());
}

无论我将 setLargeIcon 放在 setSmallIcon 之前,它仍然不起作用。它只为 small 和 largeIcon 显示 smallIcon。我的大图标是矢量可绘制

最佳答案

如果您使用矢量图像资源,您必须像这样获取位图:

public static Bitmap getBitmapFromVectorDrawable(Context context, int drawableId) {
Drawable drawable = ContextCompat.getDrawable(context, drawableId);
Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);

return bitmap;
}

然后在您的构建器中:

.setLargeIcon(getBitmapFromVectorDrawable(this, R.drawable.R.drawable.ic_music_player))

关于android - NotificationCompat.setLargeIcon(Bitmap) 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49253232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com