Android:在特定时间停止警报并提供服务说明

时间:2012-09-14 06:56:53

标签: android alarmmanager android-alarms

有没有办法在给定时间停止闹钟,例如,我在早上7:45开始闹钟并且每5分钟重复一次然后,我想在时间已经是上午8点时停止闹钟?

我如何使用此算法,因为警报管理器的cancel()方法只接受一个动作(PendingIntent)

其次,关于服务,我有一个想法是在服务上放置检查器或if语句来检查它是否已经是8:00a,但我不确定服务是否总是在后台运行,如果是,那是否意味着要说它总是检查时间是否是早上8点?鉴于服务的含义一旦开始我将不会停止,除非明确告知这样做。

你们中的任何人都知道如何做到这一点请分享,我现在有点困惑

2 个答案:

答案 0 :(得分:0)

首次启动闹钟时,您必须启动该服务,此服务将在5分钟响铃并获取设备时间并将其与停止时间的时间进行比较  在那(意味着在上午8点)停止你的服务

答案 1 :(得分:0)

为什么不在上午7:45使用AlarmManager#setRepeating启动您需要做的任何操作,并使用AlarmManager#set设置另一个警报以停止之前的操作?

AlarmManager #set只会被触发一次,因此您可以使用它取消重复闹钟

编辑: 在AlarmManager#set的实施中,您将检索重复警报(AlarmManager#setRepeating)和cancel()