Change “Pulsar luz de notificação” / trackball configuração de luz no Android (Nexus One única?)

StackOverflow https://stackoverflow.com/questions/2211543

Pergunta

No Nexus One (pelo menos em 2,1 atualização1, e eu acho que em 2.1), há uma configuração em Som e Ecrã: "Pulse luz de notificação". Este não parece estar presente no "2,1 Google APIs com" imagem do emulador. Eu ainda não ter verificado quaisquer outros dispositivos.

pulso de luz de notificação: pulso trackball luz repetidamente para novas notificações http://chris.boyle.name/images/20100206-pulse-trackball.png

Eu quero definir esta programação sem interação do usuário, a fim de fazer um plugin Locale, de modo que o dispositivo pode agarrar a minha atenção quando eu estou acordado na minha mesa, sem tê-lo holofotes da sala quando alguém me spams em 4am. É muito brilhante.

Eu não vê-lo em android.provider.Settings. sistema onde muitas outras coisas na tela ao vivo, então eu tive uma olhada na fonte de plataforma. Há algumas partes relevantes em NotificationManagerService, em enqueueNotificationWithTag e updateLightsLocked . Que sai em HardwareService que parece bem além do ponto de cuidado sobre as configurações do usuário. Eu não tenho nenhuma idéia de onde essa configuração seja executado ou como eu poderia influenciá-lo.

eu espero que a resposta seja "não há nenhuma API para isso" (talvez relacionado ao facto de ser Nexus One específico), e que o melhor que posso fazer é com a programação (usando Locale ou outra coisa) a intenção de < a href = "http://developer.android.com/reference/android/provider/Settings.html#ACTION_DISPLAY_SETTINGS" rel = "nofollow noreferrer"> ACTION_DISPLAY_SETTINGS para me lembrar para definir a caixa manualmente, o que seria um saco . Eu estou esperando que eu perdi alguma coisa, ou que um Googler está lendo este e pode me dizer que isso está previsto para além da API?

Foi útil?

Solução

Eu sei que eu vou morrer dolorosamente para a utilização de uma API não documentada (ou melhor, o sistema não documentada nome da configuração), mas aqui é a linha mágica:

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

Encontrado usando sqlite3 em meu próprio dispositivo.

Aqui está esta solução em um plugin Locale conveniente: http://chris.boyle.name/projects / ptlp

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top