Android 当应用程序意外关闭时停止AlarmManager

Android 当应用程序意外关闭时停止AlarmManager,android,alarmmanager,Android,Alarmmanager,我有一个关于AlarmManager的问题,以及当应用程序意外关闭时如何停止它 我的AlarmManager每30分钟重复一次警报。现在,当用户意外关闭应用程序时,警报仍在工作。这并不是那么糟糕,因为在一段时间内,它是打算这样做的,但一旦用户想要停止重复报警,它就不再工作了(AlarmManager的一项功能)。因此,用户必须重新启动Android 是否有其他方法在应用程序关闭时停止AlarmManager 也许有人给我举个例子 多谢各位 致以最良好的祝愿, 伯纳德你必须自己取消闹钟。只需调用a

我有一个关于AlarmManager的问题,以及当应用程序意外关闭时如何停止它

我的AlarmManager每30分钟重复一次警报。现在,当用户意外关闭应用程序时,警报仍在工作。这并不是那么糟糕,因为在一段时间内,它是打算这样做的,但一旦用户想要停止重复报警,它就不再工作了(AlarmManager的一项功能)。因此,用户必须重新启动Android

是否有其他方法在应用程序关闭时停止AlarmManager

也许有人给我举个例子

多谢各位

致以最良好的祝愿,
伯纳德

你必须自己取消闹钟。只需调用
alarmManager.cancel(pi)
即可,其中
pi
是以前创建的挂起意图,用于安排报警

如果不再需要挂起的意图,也可以通过调用
pi.cancel()
来取消它


另一种可能是在报警广播接收器上添加一个检查,以在某些情况下忽略计划的报警,而这些情况下您不再需要它们。这样做的缺点是会消耗更多的电池,因为手机会醒来触发闹钟。

谢谢您的提示。我知道我必须自己取消它,但我想实现的是,如果用户意外关闭应用程序,alarmmanager仍在工作。当用户现在重新启动应用程序时,他或她应该按下一个按钮,运行中的alarmmanager将关闭。但是,一旦应用程序关闭,这是不可能的。所以,我想可能有另一种方法来实现我的目标。使用pi.cancel停止alarmmanager我不知道,但这仅在用户之前未关闭应用程序的情况下才可能!用户如何意外关闭你的应用程序?报警管理器是安卓系统提供的一项服务。你不能开始或停止它。你只能安排/重新安排或取消警报。当用户从RAM中删除应用程序时,应用程序可能会意外关闭(强制关闭)-这就是我所说的意外关闭应用程序的意思。我的应用程序有一个启动alarmmanager的按钮和一个停止报警的按钮。但有时用户会从ram中删除应用程序,因此alarmmanager仍在工作,尽管应用程序已完全关闭,并且当用户重新启动应用程序时,他无法触发“取消”按钮,因为已启动的alarmmanager不再对此作出反应。在这种情况下,我认为你唯一的选择是在SharedReferences上保存一个标志,以指示你的应用程序是否正确关闭。如果不是,则将在下一个应用程序启动时设置该标志,然后您可以阻止广播接收器上的警报触发。请检查此项:如果用户强制关闭应用程序,则无法在应用程序上获取任何事件。所以你必须像我之前说的那样用其他方式来处理。