欢迎所有
当我的小部件添加到屏幕时,我使用此代码创建闹钟:
alarmMgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, WidgetAlarmReceiver.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 60000, 60000, alarmIntent);
当屏幕上没有更多小部件时,我会使用此代码删除闹钟。 我在AlarmReceiver类的onReceive方法上调用此代码。也许这就是问题?
AlarmManager alarmMgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent mIntent = new Intent(context, WidgetAlarmReceiver.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, mIntent, 0);
alarmMgr.cancel(alarmIntent);
问题是,即使进行取消呼叫,警报仍然每分钟都会被呼叫。
有什么问题? startAlarm代码不再被调用,所以我不明白为什么取消不起作用并且警报一次又一次地被调用。
感谢您的帮助
答案 0 :(得分:0)
最后我解决了从取消方法本身的警报外取消警报的问题。也许警报无法取消或其他事情。