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