【发布时间】:2011-01-17 13:21:13
【问题描述】:
我正在尝试检查我的闹钟是否处于活动状态。 alarmIsSet 方法将在设置闹钟之前返回 false,设置闹钟时返回 true。到目前为止一切顺利,但是,在我取消警报之后,alarmIsSet 将继续返回 true,直到我重新启动设备。 我该如何解决这个问题?
public class Alarm extends Activity {
private Intent intent = new Intent("PROPOSE_A_TOAST");
private void alarm (boolean activate) {
AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0);
if(activate == true) {
int type = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long interval = 3000;
long triggerTime = SystemClock.elapsedRealtime();
am.setRepeating(type, triggerTime, interval, pi);
} else {
am.cancel(pi);
}
}
private boolean alarmIsSet() {
return PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_NO_CREATE) != null;
}
}
【问题讨论】:
标签: android alarm alarmmanager