在AlarmManager中重复报警的时间间隔并不总是如此

时间:2013-10-05 16:36:52

标签: android alarmmanager android-alarms

我用AlarmManager这样设置了重复闹铃:

    AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    alarmMgr.setRepeating (AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 100, 10000, mPendingIntent);

    registerReceiver(new BroadcastReceiver()
    {
        @Override
        public void onReceive(Context context, Intent intent) 
        {
            sharedPrefsEditor.putString(TIMER_LOG_KEY, sharedPrefs.getString(TIMER_LOG_KEY, "") + Calendar.getInstance().getTimeInMillis() + "|");
            sharedPrefsEditor.commit();
        }
    }, 
    new IntentFilter(ALARM_TEST_TIMER_ACTION)); 

mPendingIntent发送广播。

警报应该每10秒钟执行一次(= 10,000毫秒)。

我记录了执行时间,发现了2个异常间隔:23秒和143秒。

我必须提到所有其他间隔都很好(最长11.1秒)。

为什么会这样?我怎样才能避免这些例外?

0 个答案:

没有答案