2012-04-27 20 views
6

Sto utilizzando una notifica per consentire all'utente che il servizio sia ancora in esecuzione. Ora mi piacerebbe usare la notifica per ricordare all'utente. (perché è fantasia)Notifica notifica Android non funzionante

La notifica funziona bene, ma la luce di notifica non fa nulla. Altre applicazioni funzionano bene con la luce di notifica, (gtalk, facebook)

è più o meno il codice di esempio per le notifiche con l'aggiunta di queste bandiere:

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); 

e

notification.defaults |= Notification.DEFAULT_LIGHTS; 

invece doesn Funzionano entrambi.

che sto debug su un Galaxy Nexus con Android 4.0, ma l'obiettivo della applicazione è Android 2.3.3

EDIT: Questo potrebbe essere un problema di permesso? Se sì, quale? Ho esaminato tutto e non ho trovato alcun permesso corrispondente per la luce di notifica.

+0

obbligatorio "Sei sicuro di avere autorizzazioni corrette per le luci di notifica" – antlersoft

+0

buona domanda, sono stati li prendo? – trichner

+0

Nel file AndroidManifes.xml –

risposta

2

Penso che ci sia un errore con l'operatore +, è necessario l'OR:

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

EDIT: e se si sta utilizzando bandiere, credo che quella giusta dovrebbe essere:

notification.flags |= Notification.FLAG_SHOW_LIGHTS 
+0

Non è un errore, è una funzionalità! Quelli sono bit da impostare, il vantaggio funziona bene. Dal momento che ogni bandiera è un altro bit, non avrai mai un riporto. Ma l'OR funzionerebbe perfettamente. FLAG_SHOW_LIGHTS è impostato, come si vede nel codice di blocco superiore, in base alla documentazione non è necessario se si utilizza il flag DEFAULT_LIGHTS. – trichner

+0

Questa risposta l'ha sistemata per me .. grazie nax –

2

Su dispositivi jelly bean, il led funziona solo se la priorità di notifica è impostata su max o predefinito, si prega di ricontrollare. Il seguente frammento di codice funziona perfettamente per me sui dispositivi jb.

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

Qui sto mostrando colore blu ha portato per la notifica che resterà per 100 ms e spento per 3000 ms fino utente sblocca il suo dispositivo.

e verificare se si utilizza NotificationCompat (compatibilità) Classe di ignorare il metodo setDefaults e utilizzare SetLight, SetSound, Setvibration, ecc

Problemi correlati