我使用的是Nexus 5(SDK 4.4.4),我尝试发送一些不同颜色的通知。我尝试用简单的代码测试颜色:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NotificationManager notif = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
for (int i = 0; i < 8; i++) {
notif.cancel(1); // clear previous notification
final Notification notification = new Notification();
if (i == 0){
notification.ledARGB = Color.MAGENTA;
}else if (i == 1){
notification.ledARGB = Color.BLUE;
}else if (i == 2){
notification.ledARGB = Color.CYAN;
}else if (i == 3){
notification.ledARGB = Color.GRAY;
}else if (i == 4){
notification.ledARGB = Color.GREEN;
}else if (i == 5){
notification.ledARGB = Color.RED;
}else if (i == 6){
notification.ledARGB = Color.WHITE;
}else if (i == 7){
notification.ledARGB = Color.YELLOW;
}
notification.ledOnMS = 1000;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notif.notify(1, notification);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
此代码应发送8种不同的颜色通知。我的手机实际上做的是复制3种颜色,蓝色,红色和洋红色。剩下的颜色似乎不起作用。
当然,其他颜色应该可以正常工作,因为Light Flow应用程序成功发送绿色等颜色的通知。
这可能是什么问题?还有其他代码可以实际运行吗?
答案 0 :(得分:0)
你可以阅读以下内容:https://developer.android.com/preview/notifications.html,如果你看到那里,你可以看到谷歌不建议改变通知的颜色,他们建议使用透明色,我引用:
&#34;的唐&#39;吨强>
使用颜色区分您的应用与其他应用。通知图标应仅为白色透明背景图像。 &#34;
- EDIT-- 我的错误,我还没有看到你想改变led颜色,
但如果您只想更改LED颜色,请尝试使用代码:notification.ledARGB = 0xFFff0000;
作为您想要的颜色。
答案 1 :(得分:-1)
我再次尝试编译这个程序,我找到了解决方案。
对于遇到同样问题的其他人,在我多次运行程序后,颜色开始显示,并且在重新启动手机后,此程序现在可以正常运行。