Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当活动被破坏时取消报警_Android_Service_Alarmmanager_Alarm_Repeatingalarm - Fatal编程技术网

Android 当活动被破坏时取消报警

Android 当活动被破坏时取消报警,android,service,alarmmanager,alarm,repeatingalarm,Android,Service,Alarmmanager,Alarm,Repeatingalarm,我的Android应用程序中运行着一项服务。此服务是使用带有重复报警的AlarmManager启动的。当某个事件发生时,服务发送广播,该广播在片段中接收。在那里,警报被取消(alarm.cancel(PendingEvent)) 到目前为止,一切顺利。但是,如果活动/片段被破坏,我该怎么办?我怎样才能取消服务?只需调用此报警。取消(),使用与您使用的onDestroy活动/片段方法相同的PendingEvent即可: AlarmManager alarm = (AlarmManager) get

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


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

只需调用此
报警。取消()
,使用与您使用的
onDestroy
活动/片段方法相同的
PendingEvent
即可:

AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pendingIntent)
cancel()
方法的描述中:


删除所有具有匹配
意图的报警。任何类型的报警,如果其
意图
与此报警相匹配(如
过滤器相等(意图)
所定义),将被取消。

您不能发送广播并取消服务中的报警吗?@V M我想取消服务中的报警,但是我该怎么做呢?就像你在片段中取消一样?我在片段中有AlarmManager的实例,但在服务中没有。在服务中,你有你的应用程序上下文,你可以像这样得到你的管理器:AlarmManager AlarmManager=(AlarmManager)context.getSystemService(Context.ALARM_服务);其中Context是getApplicationContext()。