此问题涉及Android版Lollipop之前的版本。对于Lollipop API,请检查相关问题:
我想知道如何在状态栏中打开/关闭系统警报图标,如下图所示:
根据我对系统的理解,以及我过去阅读的内容,它由内置系统闹钟应用程序控制。第三方应用程序无法在无根设备上对其进行控制。我们没有理由能够控制它。
然而,及时v1.2.7控制我的无根Galaxy Nexus v4.2.1上的此图标,& Nexus 5 v4.4.2。所以有可能。
我想知道在无根设备上执行此操作的技术是什么。我怀疑是一个黑客或无证代码,但仍然有兴趣,如果有人可以阐明。
答案 0 :(得分:8)
Lollipop终于删除了那些私有API功能。这项技术不再适用于v5。
我已经发布了一个关于棒棒糖的新问题,其中有一个答案:
这是使用私有api 属性完成的方式:
protected void setStatusBarIcon(boolean enabled)
{
Intent alarmChanged = new Intent("android.intent.action.ALARM_CHANGED");
alarmChanged.putExtra("alarmSet", enabled);
sendBroadcast(alarmChanged);
}
感谢Andy Savage对此Google网上论坛主题:
重要说明:如上所述,它使用私有的,未记录的属性。所有常见的警告都适用于此,正如Dianne Hackborn在同一篇帖子中指出的那样:
请注意,当您看到类似的原始字符串时 (" android.intent.action.ALARM_CHANGED"和" alarmSet"),警告铃 你应该在脑海中使用私有API。
确实是这样。
如果您使用此功能,如果将来发生故障,请不要感到惊讶 随机地在某些设备上不起作用。