Domanda

Sul Nexus One (almeno in 2.1-update1, e penso che in 2.1), v'è un'impostazione in Audio e display: "Pulse luce di notifica". Questo non sembra essere presente sulla "2.1 delle API di Google con" immagine emulatore. Non ho ancora controllato tutti gli altri dispositivi.

luce di notifica Pulse: Pulse trackball luce più volte per le nuove notifiche http://chris.boyle.name/images/20100206-pulse-trackball.png

Voglio impostare questo livello di codice senza l'interazione dell'utente, al fine di rendere un plugin Locale, in modo che il dispositivo può afferrare la mia attenzione quando sono sveglio alla mia scrivania, senza averlo floodlighting la stanza quando qualcuno mi spam alle 4 del mattino. E 'abbastanza chiaro.

Non ho visto in android.provider.Settings. sistema dove molte altre cose su questa schermata dal vivo, così ho avuto uno sguardo nel sorgente della piattaforma. Ci sono alcune parti rilevanti in NotificationManagerService, in enqueueNotificationWithTag e updateLightsLocked . Che si spegne in HardwareService che sembra ben oltre il punto di prendersi cura di impostazioni utente. Non ho idea di dove viene attuato questa impostazione o come avrei potuto influenzarlo.

Mi aspetto la risposta di essere "non v'è alcuna API per questo" (forse legati al fatto che è Nexus One specifico), e che il meglio che posso fare è di programmare (utilizzando Locale o altro) un intento di < a href = "http://developer.android.com/reference/android/provider/Settings.html#ACTION_DISPLAY_SETTINGS" rel = "nofollow noreferrer"> ACTION_DISPLAY_SETTINGS per ricordarmi di impostare la casella manualmente, che avrebbe fatto schifo . Spero che ho perso qualcosa, o che un googler sta leggendo questo e mi può dire che questo è previsto per l'aggiunta all'API?

È stato utile?

Soluzione

Lo so che sto per morire dolorosamente per l'utilizzo di un'API non documentate (o meglio, il sistema non documentato impostazione nome), ma qui è la linea magica:

android.provider.Settings.System.putInt(context.getContentResolver(),
        "notification_light_pulse", on ? 1 : 0);

Trovato utilizzando sqlite3 sul nostro dispositivo.

Ecco questa soluzione in un comodo plug-Locale: http://chris.boyle.name/projects / ptlp

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top