我之前已经问过这个问题(here),但它没有得到关注,我觉得这对那些选择开始类似问题的人来说真的有用。
基本上,我正在实现一个为用户设置警报的应用程序,在我当前的尝试中,我使用ACTION_SET_ALARM意图来设置系统警报。现在这样可以正常工作,只有一个例外:每当我设置一个警报时,它会发出一个全新的警报,直到警报数据库最终完全充满冗余警报。
我正在试图弄清楚如何设置UNIQUE闹钟而不必完全设计我自己的闹钟应用程序。必须有一种方法可以做到这一点,只需使用原生Android闹钟类的一些功能。
到目前为止我使用的方法:
Android开发者文档;
几乎关于这个主题的每个论坛帖子都有;
利用通过查询deskclock源代码找到的各种其他意图;
导入Alarms类,即setAlarm类。
对我来说,最后一个选项是开始使用AlarmManager类,但这实际上是重新创建了alarmclock类,我希望这个应用程序是通用的(它可以应用于大多数闹钟应用程序)而不必依靠它自己
非常感谢任何帮助。
答案 0 :(得分:1)
必须有一种方法可以做到这一点,只需使用原生Android闹钟类的一些功能。
欢迎您提出意见,但您的意见可能需要附带您自己的Android分支和您自己的移动设备系列。
首先,没有太多的“原生Android闹钟类”。它大多只是an Intent
action string and a series of keys for extras。闹钟功能的实现取决于设备和用户,但许多人只是使用Android开源项目中的一个。
此时,您遇到两个问题:
Android开源项目中的应用程序不支持您想要的内容
没有其他应用程序必须支持您想要的内容,因为它超出了记录行为的范围
答案 1 :(得分:0)
您需要做的是使用AlarmManager广播脉冲。这是获得脉冲的最可靠方式。让广播接收器监听该脉冲并传递给服务或根据需要启动活动。在那里,您将检查警报条件列表,看看它们是否已被满足。请注意,此时您还可以检查时间戳。是的AlarmManager比您可以使用的任何其他服务更可靠。