2012-04-27 57 views
6

我使用的通知,现在该服务仍在运行,让用户。现在我想使用通知来提醒用户。 (因为它的花哨)的Android notificationlight不工作

通知工作正常,但通知灯什么都不做。其他应用程序很好地工作的通知指示灯(每增加一个Facebook)的

它或多或少的通知,并加入这些标志的示例代码:

notification.ledARGB = 0xff00ff00; 
notification.ledOnMS = 100; 
notification.ledOffMS = 100; 
notification.flags |= Notification.FLAG_SHOW_LIGHTS; 

notification.flags |= Notification.FLAG_NO_CLEAR + Notification.FLAG_ONGOING_EVENT; 
mNotificationManager.notify(NOTIFICATION_ID, notification); 

notification.defaults |= Notification.DEFAULT_LIGHTS; 

,而不是没有按也不行。

我调试上的Galaxy Nexus与Android 4.0,但应用程序的目标就是Android 2.3.3

编辑: 这会是权限的问题?如果是,哪一个?我浏览了所有内容,发现通知灯没有匹配的权限。

+0

强制性“你确定你有正确的权限的通知灯” – antlersoft 2012-04-27 22:08:13

+0

好问题,是我能得到它们吗? – trichner 2012-04-27 22:09:16

+0

在AndroidManifes.xml文件 – 2012-04-27 22:09:55

回答

2

我认为这是与+操作错误,你需要的OR:

notification.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; 

编辑:如果您使用的标志,我认为是正确的应该是:

notification.flags |= Notification.FLAG_SHOW_LIGHTS 
+0

这不是一个错误,它是一个功能!那些是设置的位,加号工作正常。由于每个国旗都是另一点,你永远不会得到结转。但是OR会工作得很好。 FLAG_SHOW_LIGHTS设置,为您在上代码块看,根据你使用DEFAULT_LIGHTS标志它不是所需要的文档。 – trichner 2012-04-28 10:26:04

+0

这个答案解决了我的问题..谢谢纳克斯 – 2013-11-21 17:44:15

2

在果冻豆设备上,只有在通知优先级设置为最大或默认情况下,led才能工作,请再次检查。下面的代码片段在jb设备上工作正常。

notification.setLights(0xFF0000FF,100,3000); 
notification.setPriority(Notification.PRIORITY_DEFAULT); 

这里我展示蓝光LED的通知,直到用户解锁自己的设备将保持在100毫秒,熄灭3000毫秒。

,并检查是否使用的是NotificationCompat(兼容性)类不是忽略setDefaults方法和使用SetLight,SetSound,Setvibration等