1

在我的应用程序中,我使用 AlarmManager 在一周中的特定日期和特定时间启动 Activty。

所以我有一个 AlarmManager,它会在 12:00 的 MON、TUE、WED.. 触发一个 Activity...

现在,关键是我需要在精确的时间停止相同的活动(如果可能,再次使用 AlarmManager)。

请问我该如何实现:AlarmManager to STOP an Activity?

4

2 回答 2

3

您可以在该活动中注册广播接收器。如果您想停止它,请向该 Activity 发送广播通知,并触发相关回调函数以完成该 Activity。

于 2013-07-10T08:53:03.790 回答
1

正如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);
}
于 2013-07-10T09:14:44.530 回答