Android重复闹钟不会按设定的时间间隔

时间:2017-01-15 20:00:53

标签: android android-studio alarmmanager android-pendingintent

我在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");

0 个答案:

没有答案