Android获取活动警报列表

Xyl*_*Raj 25 android alarm

有没有办法以编程方式在我们的应用程序中以编程方式获取Android设备中所有活动警报的列表.只需指出一些可以提供帮助的链接我基本上试图让用户查看所有警报的工具在他的设备中,所以我想获得设备中所有活动警报的列表.

Unc*_*ion 20

不,AFAIK您无法以编程方式执行此操作,因此在UI中向用户显示该信息是不可行的.

但是为了您自己的参考,您可以通过转储警报数据

adb shell dumpsys alarm
Run Code Online (Sandbox Code Playgroud)

您不需要root权限.

但是你从上面得到的东西可能会让人很难理解.为了完全理解转储,你应该在这里查看morphatic的答案.


Ste*_*igg 16

简短的回答:你做不到.

警报管理器不会查看当前在系统中安排的警报.每个使用警报管理器的应用程序都必须保持其设置的每个警报的状态.

但是,您可以通过此问题中的描述获取 adb列表获取AlarmManager中活动PendingIntents的列表.而且一个应用程序可以得到系统转储,并得到报警这样但这需要根.

  • 好吧,我想你正在寻找这个:http://developer.android.com/reference/android/provider/AlarmClock.html 它仅指闹钟应用程序设置的闹钟,而这个问题是关于任何闹钟设置的正如他们所说的“设备上的所有警报”。 (2认同)

Men*_*ena 10

如果您的意思是活动警报,那么设备的闹钟应用程序中的那些,我认为您可以.尝试从这里查看方法.

但是,如果您想要查看设备上由AlarmManager创建的所有警报,那么很遗憾您无法以编程方式执行此操作.

但是,您可以在文本文件中查看转储数据,如下所示:

adb shell dumpsys alarm > dump.txt
Run Code Online (Sandbox Code Playgroud)


ulc*_*ica 5

您可以获得预定的下一个警报(文档)

getSystemService(AlarmManager::class.java).nextAlarmClock.triggerTime
Run Code Online (Sandbox Code Playgroud)

返回警报将触发的时间。该值是 UTC 挂钟时间(以毫秒为单位)