在我的应用程序中,我使用 AlarmManager 在一周中的特定日期和特定时间启动 Activty。
所以我有一个 AlarmManager,它会在 12:00 的 MON、TUE、WED.. 触发一个 Activity...
现在,关键是我需要在精确的时间停止相同的活动(如果可能,再次使用 AlarmManager)。
请问我该如何实现:AlarmManager to STOP an Activity?
在我的应用程序中,我使用 AlarmManager 在一周中的特定日期和特定时间启动 Activty。
所以我有一个 AlarmManager,它会在 12:00 的 MON、TUE、WED.. 触发一个 Activity...
现在,关键是我需要在精确的时间停止相同的活动(如果可能,再次使用 AlarmManager)。
请问我该如何实现:AlarmManager to STOP an Activity?
您可以在该活动中注册广播接收器。如果您想停止它,请向该 Activity 发送广播通知,并触发相关回调函数以完成该 Activity。
正如Pankaj所说,使用服务,您可以取消注册广播接收器
public void stopService() {
Log.d("TAG", "CancelAlarm Start");
Intent intent = new Intent(context, PullNotification.class);
PendingIntent sender = PendingIntent
.getBroadcast(context, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(sender);
}