我正在开发一个时钟应用程序,需要获得下一个闹钟触发时间。我所说的“闹钟”是指要唤醒的嘈杂的人。我用
AlarmManager.AlarmClockInfo aci = ((AlarmManager) getSystemService(Context.ALARM_SERVICE)).getNextAlarmClock();
问题是,我的应用程序正在捕捉Tasker“闹钟”(我不知道它们从哪里来),而不是通常的时钟闹钟。
如何捕捉“真正”嘈杂的时钟闹钟?或者如何让AlarmManager忽略Tasker闹钟?
1条答案
按热度按时间vq8itlhq1#
AlarmManager
用于设置应用程序在特定时刻执行的一些操作。这可能是“真噪音警报”或任何其他操作,例如显示提醒通知或在后台与服务器同步。查看一些相关的DOC没有像“系统闹钟”这样的东西-你有一些时钟应用程序安装在你的设备上,它有功能设置“真正的噪音闹钟”在未来。它可能使用
AlarmManager
来获得通知的时间制造噪音来了,但也可能使用任何其他机制,如WorkManager
因此,无法/API获取系统中设置的“真正嘈杂警报”的信息。因为这样的东西不存在,警报是应用程序的一个功能,您可能有几个时钟应用程序,您可能会卸载设备上所有可用的。获取“真正嘈杂警报”列表的唯一机会是以任何方式与setting-alarms-app通信(广播?aidl?),我非常怀疑这种类型的任何应用程序都在为这种检查提供任何API...