我升级了android 6.0,我的应用程序有问题 .
当状态栏背景颜色不是白色时,通知图标是好的 . (通知图标png只有白色和alpha)
但如果某些应用将背景颜色更改为白色,则我的通知图标不会反转为黑色 .
当状态栏背景颜色由其他应用设置为白色时,如何将白色通知图标反转为黑色? (我不是说如何使用彩色图标 . )
下图显示了一个问题 .
when changed background color to white, my icon is not changed to black only
- 通知构建代码
Notification.Builder mBuilder =
new Notification.Builder(context)
.setSmallIcon(R.drawable.ic_notifications_none)
.setPriority(priority2)
.setOngoing(true);
mBuilder.setContent(generateMessageView(message));
Intent notificationIntent = new Intent(context, MainActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context, 0,
notificationIntent, 0);
NotificationManager mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder.setContentIntent(intent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
- values-v23 / styles.xml
<style name="AppTheme" parent="android:Theme.Material.NoActionBar">
</style>
找到解决方案
我在drawable目录中添加了通知图标而不是drawable- * dpi . 现在它正在运作 .
2 回答
回答已经很晚了,但对于那些有同样问题的人来说,
我也有这个问题,我发现问题出在图形图标上 . 您可以使用此在线工具解决问题 . 打开这个链接:
https://romannurik.github.io/AndroidAssetStudio/icons-notification.html#source.type=image&source.space.trim=1&source.space.pad=0&name=ic_stat_call_white
选择您的图像(具有大尺寸),下载资源并将其复制到您的项目中 .
最后使用
.setSmallIcon(R.drawable.ICON_NEW_NAME)
设置通知图标希望这可以帮助
我认为问题在于设备android 5.0或更高 .
https://developer.android.com/design/patterns/notifications.html
https://developer.android.com/about/versions/android-5.0-changes.html
这是一个解决方案:
和方法
getNotificationIcon()
: