Change « lumière de notification d'impulsion » / réglage de la lumière trackball sur Android (Nexus One seulement?)

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

Question

Sur le Nexus One (au moins en 2.1 Update1, et je pense en 2.1), il y a un paramètre sous son et d'affichage: « impulsion lumineuse de notification ». Cela ne semble pas être présent sur le « 2.1 avec les API Google » image de l'émulateur. Je n'ai pas encore vérifié tout autre appareil.

voyant de notification d'impulsion: impulsion lumière boule de commande à chaque notification http://chris.boyle.name/images/20100206-pulse-trackball.png

Je veux définir ce programme sans interaction de l'utilisateur, afin de faire un plugin Locale, de sorte que le dispositif peut saisir mon attention quand je suis réveillé à mon bureau, sans l'avoir lÛéclairage la chambre quand quelqu'un me envoie des pourriels à 4h du matin. Il est tout à fait clair.

Je ne vois pas dans android.provider.Settings. système où beaucoup d'autres choses sur cet écran en direct, donc j'eu un coup d'oeil à la source de la plate-forme. Il y a quelques parties pertinentes dans NotificationManagerService, dans enqueueNotificationWithTag et updateLightsLocked . Cela va loin dans HardwareService qui semble bien au-delà du point de se soucier de paramètres utilisateur. Je ne sais pas où ce paramètre est mis en œuvre ou comment je pourrais l'influencer.

Je me attends la réponse soit « il n'y a pas d'API pour cette » (peut-être lié à lui être Nexus One spécifique), et que le mieux que je puisse faire est de planifier (en utilisant Locale ou autre chose) une intention de < a href = "http://developer.android.com/reference/android/provider/Settings.html#ACTION_DISPLAY_SETTINGS" rel = "nofollow noreferrer"> ACTION_DISPLAY_SETTINGS pour me rappeler de mettre la boîte manuelle, qui suçait . J'espère que j'ai raté quelque chose, ou que une Googler est en train de lire ce et peut me dire que cela est prévu pour plus de l'API?

Était-ce utile?

La solution

Je sais que je vais mourir péniblement à l'aide d'une API non documentée (ou plutôt, nom du paramètre système sans papier), mais voici la ligne magique:

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

trouvé à l'aide sqlite3 sur mon propre appareil.

Voici cette solution dans un plugin pratique Locale: http://chris.boyle.name/projects / ptlp

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top