2014-04-09 27 views
-1

我有一個服務在我的Android應用程序中運行。該服務是使用具有重複警報的AlarmManager開始的。當某個事件發生時,該服務發送一個廣播,在一個片段內接收。在那裏警報被取消(alarm.cancel(pendingIntent))。當活動被破壞時取消警報

到目前爲止,一切都很好。但是如果活動/碎片被破壞,我該怎麼辦?我怎樣才能取消該服務?

+0

難道你不能在服務中發送廣播並取消報警嗎? – VM4

+0

@V M我想取消服務內的鬧鐘,但我該怎麼做? – deimos1988

+0

與我在片段中取消的方式相同? – VM4

回答

1

只需撥打這個alarm.cancel()具有相同pendingIntent你已經使用在onDestroy方法活動/片段的開始吧:

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

cancel()方法的描述:

與刪除任何警報匹配Intent。任何類型的報警,其中Intent匹配此報警(由filterEquals(Intent)定義)將被取消。

+0

謝謝,它的工作! – deimos1988

相關問題