android中的报警管理器

时间:2013-03-19 05:58:27

标签: android alarmmanager android-alarms repeatingalarm

我知道警报管理员已经有问题和解决方案,我已经搜索了很多但面临同样的问题。

我的问题是我每次都添加多个具有唯一ID的警报,并使用相同的ID取消它们。所有警报在添加和删除时工作正常,但警报会在不规则的间隔后继续响铃。

这是我设置闹钟的代码。

    AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    Intent i = new Intent(getApplicationContext(), AlarmSer.class);
    next =  myRandom.nextInt();
    PendingIntent pendingIntent =
    PendingIntent.getService(getApplicationContext(),next, i, 0);
    am.set(AlarmManager.RTC, firstWake, pendingIntent);

取消alarm.values of next和alarmReqCode的代码对于特定警报是相同的。

  AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
  Intent i = new Intent(getApplicationContext(), AlarmSer.class);
  alarmReqCode=Integer.parseInt(cursor.getString(cursor.getColumnIndexOrThrow(
  TodoDbAdapter.ALARMCODE)));
  PendingIntent  pendingIntent=
  PendingIntent.getService(getApplicationContext(),alarmReqCode, i, 0);
  am.cancel(pendingIntent);

在logCat中我得到了这个

 03-19 11:43:03.475: V/AlarmManager(21088): waitForAlarm result :4
 03-19 11:43:03.480: V/AlarmManager(21088): trigger ELAPSED_REALTIME_WAKEUP or RTC_WAKEUP

0 个答案:

没有答案