我用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秒)。
为什么会这样?我怎样才能避免这些例外?