根据this问题中的评论:“标准Android只允许您从Android 3.0+上删除该列表中的内容,这样做不会影响您的AlarmManager事件”。
如果用户从最近的应用列表中滑动应用,我想取消闹钟,但似乎我们无法处理从最近的应用列表中滑动应用,其中可以取消闹钟。 我在应用程序中有选项让用户取消执行此代码的警报:
public static void cancelAlarm() {
if (alarmUp())
{
alarmMgr.cancel(pendingIntent);
}
}
public static boolean alarmUp() {
return (pendingIntent != null);
}
但强行删除应用时如何取消闹钟?我不想在关闭应用程序时取消闹钟(按后退或主页按钮)。
答案 0 :(得分:2)
完成此任务需要两个步骤:
从最近列表中检测应用删除。请参阅What Exactly Happens When You Swipe An Android App From the Recent Apps List?。这是我在这个主题上找到的最好的信息。
取消闹钟。您的问题假设pendingIntent
变量仍保留之前构建的意图。这不会在卸载的活动中工作。相反,构建一个意图"equal to"原始意图("他们的行为,数据,类型,类和类别是相同的"),并取消该意图。
答案 1 :(得分:0)
通过拨打alarm.cancel()
OnDestroy()
中的Activity
可以轻松实现此目的。