3

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

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

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

我没有在android.provider.Settings.System中看到它,这个屏幕上还有很多其他的东西,所以我查看了平台源代码。NotificationManagerService 中有一些相关部分,在enqueueNotificationWithTagupdateLightsLocked中。这涉及到HardwareService,这似乎远远超出了关心用户设置的程度。我不知道这个设置是在哪里实现的,也不知道我会如何影响它。

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

4

1 回答 1

3

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

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

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

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

于 2010-02-16T01:29:53.717 回答