Android 安卓,通知区右侧的报警图标?

Android 安卓,通知区右侧的报警图标?,android,notifications,Android,Notifications,当我使用内置闹钟应用程序设置闹钟时,通知区域的右侧将显示一个图标。但如果我用AlarmManager设置警报,它就不会出现。有没有办法让这个图标显示出来 我发现闹钟实际上是将记录写入ContentProvider,而不是直接使用AlarmManager。我明天就试试看 而且提供商似乎不打算被其他应用程序使用。根据我对您的问题的理解,您想知道如何在通知区域中显示图标 你必须自己编程。文档对此做了很好的概述 有没有办法让这个图标显示出来 该图标用于作为固件一部分的闹钟应用程序。该图标仅在用户有活

当我使用内置闹钟应用程序设置闹钟时,通知区域的右侧将显示一个图标。但如果我用AlarmManager设置警报,它就不会出现。有没有办法让这个图标显示出来


我发现闹钟实际上是将记录写入ContentProvider,而不是直接使用AlarmManager。我明天就试试看


而且提供商似乎不打算被其他应用程序使用。

根据我对您的问题的理解,您想知道如何在通知区域中显示图标

你必须自己编程。文档对此做了很好的概述

有没有办法让这个图标显示出来


该图标用于作为固件一部分的闹钟应用程序。该图标仅在用户有活动闹钟时出现。Android SDK无法直接操作此图标。

此图标是AlarmClock应用程序的一部分,而不是Android SDK。Android有一个内置(库存)AlarmClock应用程序,但许多供应商(如三星)正在用自己的应用程序取代它。因此,没有一种安全的方法来显示应用程序中的特定图标

最好的方法是制作您自己的图标,因为您正在制作一个设置警报的应用程序,并且希望您的用户得到通知

请注意,正如您在第181行中所看到的,图标的可绘制性是R.drawable.stat\u notify\u alarm而不是Android.R.drawable.stat\u notify\u alarm,因此您无法使用它

希望这有助于

(相关问题的自我回答交叉发布:)


v5棒棒糖 棒棒糖最终删除了那些私有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 Groups的帖子上:


重要注意事项:如上所述,它使用私有的、未记录的属性。所有常见的警告都适用于此,正如Dianne Hackborn在同一线程上指出的:

请注意,当您看到这样的原始字符串时 (“android.intent.action.ALARM_CHANGED”和“alarmSet”),警告铃 你应该会觉得这是在使用私有API

事实上,这是一个很好的例子

如果你使用它,如果它在将来的某个时候坏了,不要感到惊讶 随机在某些设备上不起作用


谢谢但实际上我想知道如何使图标出现在通知区域的右侧。如果自定义闹钟不能像内置闹钟那样设置图标,它看起来会很奇怪。在什么的右边?如果您希望在状态通知中对齐图像,您可以使用页面底部描述的自定义通知布局进行对齐。@jlindenbaum:我相信OP指的是在状态栏的右侧放置图标。如果您愿意涉猎黑魔法,您可以这样做(未记录的私有api)-在下面添加了答案昨天我得到了及时的更新,现在他们可以在右侧显示报警图标。Changelogs说“支持新的报警api显示图标”.有人知道哪个api是什么意思吗?在docs@maksim感谢您指出这一点。我发布了一个新问题,试图了解新API: