2012-04-27 56 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等