我在android中创建应用程序,每20分钟安排一次警报。但他们在预定的5或8次后被取消或无法工作。系统取消预定的警报后是否有任何条件。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 20);
// Create a new PendingIntent and add it to the AlarmManager
Intent my123intent = new Intent(context, PolicyFormatDownloader.class);
my123intent.putExtra(commonGlobalVariables.IS_CALL_FROM_ALARM, true);
my123intent.putExtra(commonGlobalVariables.IS_CALL_MANUALLY, false);
PendingIntent pendingIntent = PendingIntent.getService(context, 12345,my123intent,PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.cancel(pendingIntent);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+ (60 * 1000 * 20), 60 * 1000 * 20, pendingIntent);
请告诉我系统取消或清除警报的条件。 提前感谢你。
答案 0 :(得分:1)
可以在以下两个条件下清除警报:
在设备重启时 使用警报管理器设置的所有警报将在设备重启时删除
如果您创建具有相同ID的待处理意图 在创建具有相同ID值的类似PI(在本例中为12345)时,将覆盖先前的PI。