0

我在我的 Android 应用程序中运行了一项服务。此服务是使用具有重复警报的 AlarmManager 启动的。当某个事件发生时,服务会发出一个广播,该广播在一个片段中被接收。那里的警报被取消(alarm.cancel(pendingIntent))。

到目前为止,一切都很好。但是如果活动/片段被破坏了怎么办?我怎样才能取消服务?

4

1 回答 1

1

只需使用您在Activity/Fragment 方法中启动它时使用alarm.cancel()的相同方法调用它:pendingIntentonDestroy

AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pendingIntent)

cancel()方法的描述:

删除任何匹配的警报Intent。任何类型的警报Intent与此警报匹配(由 定义filterEquals(Intent))都将被取消。

于 2014-04-09T08:25:11.043 回答