我在SO中看到过很多像这样的问题。但我没有得到正确的答案。 我想在按下按钮后每2分钟触发一次警报。所以我设置了一个警报,我将间隔设置为3秒,以便我可以观察到我的代码正在运行。但是警报不能像我预期的那样起作用。它会在不同的时间间隔触发,例如在2分钟之后,有时甚至更多。平均间隔超过1分钟。我不知道这段代码有什么问题。
这是我的代码
Intent alarmIntent = new Intent(MyActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(MyActivity.this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int interval = 3000;
manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),
interval, pendingIntent);
Log.v("xyz", "alarm started");
我也尝试了这个但它给出了相同的结果。
Intent alarmIntent = new Intent(MyActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(MyActivity.this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int interval = 3000;
manager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+2000,
interval, pendingIntent);
Log.v("xyz", "alarm started");