Изменить настройку «Импульсный индикатор» / «Трекбол» на Android (только Nexus One?) - PullRequest
3 голосов
/ 06 февраля 2010

На Nexus One (по крайней мере в 2.1-update1, а я думаю в 2.1) есть настройка под Sound & Display: «Индикатор пульс-уведомлений». Похоже, его нет на изображении эмулятора "2.1 с Google API". Я еще не проверил другие устройства.

Импульсный индикатор уведомлений: многократный импульсный трекбол для новых уведомлений http://chris.boyle.name/images/20100206-pulse-trackball.png

Я хочу установить это программно без взаимодействия с пользователем, чтобы создать плагин Locale, чтобы устройство могло привлекать мое внимание, когда я не сплю за своим столом, без подсветки комнаты, когда кто-то спамит мне в 4 часа утра. Это довольно ярко.

Я не видел его в android.provider.Settings.System , где живут многие другие вещи на этом экране, поэтому я взглянул на исходный код платформы. В NotificationManagerService есть несколько важных частей: enqueueNotificationWithTag и updateLightsLocked . Это относится и к HardwareService , который, кажется, уже давно перестал заботиться о пользовательских настройках. Я понятия не имею, где реализован этот параметр или как я могу на него повлиять.

Я полностью ожидаю, что ответом будет «API для этого не существует» (возможно, связано с тем, что это специфично для Nexus One), и что лучшее, что я могу сделать, - это запланировать (используя Locale или что-то еще) Намерение ACTION_DISPLAY_SETTINGS , чтобы напомнить мне, чтобы установить поле вручную, что будет сосать. Я надеюсь, что что-то пропустил, или что Гуглер читает это и может сказать мне, что это планируется для добавления в API?

1 Ответ

3 голосов
/ 16 февраля 2010

Я знаю, что умираю мучительно за использование недокументированного API (или, скорее, недокументированного имени системного параметра), но вот волшебная черта:

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

Найдено с помощью sqlite3 на моем собственном устройстве.

Вот это решение в удобном плагине Locale: http://chris.boyle.name/projects/ptlp

...