在 Nexus One 上(至少在 2.1-update1 中,我认为在 2.1 中),声音和显示下有一个设置:“脉冲通知灯”。这似乎并不存在于“2.1 with Google APIs”模拟器映像中。我还没有检查过任何其他设备。

脉冲通知灯:重复脉冲轨迹球灯以获取新通知 http://chris.boyle.name/images/20100206-pulse-trackball.png

我想在没有用户交互的情况下以编程方式设置此设置,以便制作一个区域设置插件,这样当我在办公桌前醒来时,该设备可以吸引我的注意力,而不会在凌晨 4 点有人向我发送垃圾邮件时让它照亮整个房间。非常明亮。

我没看到它在 android.provider.Settings.System 这个屏幕上还有很多其他东西,所以我查看了平台源代码。在NotificationManagerService中有一些相关的部分,在 带标签的入队通知更新LightsLocked. 。那会进入 硬件服务 这似乎远远超出了关心用户设置的范围。我不知道这个设置是在哪里实现的,也不知道我会如何影响它。

我完全期望答案是“没有这方面的 API”(可能与它是 Nexus One 特定的有关),并且我能做的最好的事情就是安排(使用 Locale 或其他东西)一个 Intent ACTION_DISPLAY_SETTINGS 提醒我手动设置盒子,这很糟糕。我希望我错过了什么,或者那个 一位 Google 员工正在阅读本文 可以告诉我这是计划添加到 API 中的吗?

有帮助吗?

解决方案

我知道我会因为使用未记录的 API(或者更确切地说,未记录的系统设置名称)而痛苦地死去,但这是神奇的一行:

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

发现使用 sqlite3 在我自己的设备上。

这是一个方便的 Locale 插件中的解决方案: http://chris.boyle.name/projects/ptlp

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top