我有一个显示自定义通知的应用程序。问题是在Android5运行时,通知栏中的小图标显示为白色。我该怎么解决这个?
被接受的答案不(完全)正确。当然,它使通知图标显示为彩色,但这样做有一个很大的缺点--通过将目标SDK设置为低于AndroidLollipop!
如果你像建议的那样通过将目标SDK设置为20来解决你的白色图标问题,那么你的app将不会针对AndroidLollipop,这意味着你无法使用Lollipop特定的功能。
查看一下http://developer.Android.com/design/style/iconography.html,您将看到在Android Lollipop中显示通知的方式是白色样式。
在Lollipop中,Google还建议您使用将显示在(白色)通知图标后面的颜色-https://developer.android.com/about/versions/android-5.0-changes.html
所以,我认为一个更好的解决方案是在应用程序中添加一个剪影图标,如果设备运行的是Android Lollipop就使用它。
例如:
Notification notification = new Notification.Builder(context)
.setAutoCancel(true)
.setContentTitle("My notification")
.setContentText("Look, white in Lollipop, else color!")
.setSmallIcon(getNotificationIcon())
.build();
return notification;
private int getNotificationIcon() {
boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
return useWhiteIcon ? R.drawable.icon_silhouette : R.drawable.ic_launcher;
}
我知道,为了支持Lollipop材料设计指导方针,我们必须使通知图标透明。 下面是我的FCM onMessageReceived()函数来显示注意。 但这里我的问题是,当应用程序在前台运行且可见时,它将使用我的logo_a_transparent并将得到所需的结果(通知栏中的屏幕截图第一图标)。
我在应用程序中使用通知。目前,我面临的问题是显示图标的Android L。对于设备4.4及以下,一切都很好。我使用的图标大小:大-图标64 dp,图标状态栏-24 dp。Devices android L图标状态栏显示为缺少的白色正方形: 在通知上的大图标上出现了空图标: 我想通知我的android l看起来是这样的:
我想用我自己的推送通知图标替换默认图标。 现在,应用程序将图标显示为白色框。
由于通知图标没有一个单独的图像,我有点不知道如何做到这一点。 谢谢
这是我用来显示通知的代码。 这种情况只发生在Lollipop上。
我试着在这个论坛找到这一个,我找到了一对夫妇,但没有人为我工作。我只需要将它隐藏在通知面板中,在大图标旁边出现,但如果我隐藏它,它也会从通知栏中消失。 有没有办法像第一个和第四个通知那样只显示大图标? 这是我正在使用的代码: