【发布时间】:2014-04-16 05:46:22
【问题描述】:
我有一个可由用户创建并可由用户禁用的警报。
当用户禁用警报时,我只需使用AlarmManager 取消警报并将警报时间存储在某处。
现在,当用户重新启用闹钟时,我会创建闹钟并将存储的时间设置在闹钟中。问题是当我使用存储的时间重新创建警报时,警报广播的onReceive() 方法会立即被调用。
我将闹钟设置如下:
alarmManager.setRepeating(AlarmManager.RTC, time, AlarmManager.INTERVAL_DAY,
PendingIntent.getBroadcast(
this, alarmUniqueCode, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));
当用户点击禁用时如何禁用警报:
sender = PendingIntent.getBroadcast(this, 1, intent, 0);
alarmManager.cancel(sender);
我在清单文件中添加了报警接收器,如下所示:
<receiver
android:name="com.sign.android.myscheduler.app.AlarmReceiver"
android:enabled="true"
android:exported="true" >
</receiver>
还有一个问题:当我禁用警报时,我调用了取消方法。我是否也需要注销广播接收器?如果是,那么如果我有两个不同的警报怎么办?如何取消注册只有一个警报的广播接收器?
【问题讨论】:
标签: android alarmmanager android-alarms repeatingalarm alarms