我使用过targetSdkVersion 26&通知图标未显示。当我改为targetSdkVersion 20时,它正常工作。但是,当我将应用程序上传到商店时,它并没有降级。如何在targetSdkVersion 26中显示图标。Notification small icon 72X72, Notification home screen icon
答案 0 :(得分:0)
这里我使用图标的大小
mipmap-mdpi : 24*24
mipmap-hdpi : 36*36
mipmap-xhdpi : 48*48
mipmap-xxhdpi : 72*72
我已将其存储到名为logo_white.png
的mipmap中,因此在构建通知时您可以使用此类
notificationBuilder.setSmallIcon(getNotificationIcon())...
notificationBuilder = new NotificationCompat.Builder(this, "default")
.setSmallIcon(icon)
.setContentTitle(getResources().getString(R.string.app_name))
.setStyle(new NotificationCompat.BigTextStyle().bigText(data.get("message")))
.setContentText(data.get("message"))
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setColor(ContextCompat.getColor(getApplicationContext(), R.color.colorPrimary))
.setContentIntent(pendingIntent)
.setPriority(Notification.PRIORITY_MAX);
这是方法
private int getNotificationIcon() {
boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
return useWhiteIcon ? R.mipmap.logo_white : R.mipmap.app_icon;
}
此处app_icon
是常规应用图标,logo_white
是白色透明应用图标
答案 1 :(得分:0)
设置通知的简便方法,应右键单击drawable或mipmap文件夹,然后选择图像资产并设置图标类型通知图标,然后选择透明图像通知。
谢谢。