服务完成后取消警报管理器

时间:2014-04-08 17:04:12

标签: android android-intent service android-pendingintent

我想取消启动服务的警报管理器,并使用以下代码创建:

Intent intent = new Intent(getActivity(), CheckStatusService.class);
pintent =  PendingIntent.getService(getActivity(), 0, intent, 0);
cal.add (Calendar.MINUTE,1);
alarm = (AlarmManager)getActivity().getSystemService(Context.ALARM_SERVICE);

alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 60*1000, pintent); 

我在做

alarm.cancel(pintent)

并没有抛出任何错误,但我开始使用此Alarmmanager的服务仍然继续工作。

服务完成后,它会向我的某个活动发送广播。在那里它被明确地接收,甚至调用alarm.cancel(),但服务仍然继续运行。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我通过使用以下代码取消服务中的警报来解决我的问题:

AlarmManager alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(getApplicationContext(), CheckStatusService.class);
PendingIntent pintent = PendingIntent.getService(getApplicationContext(), 0, intent, 0);
alarmManager.cancel(pintent);