Android Alarm仅使用AlarmManager重复一次

时间:2016-10-10 19:51:49

标签: java android alarmmanager

我正在使用AlarmManager创建一个应该每x秒重复一次的警报。警报确实会发出警报,然后在所需的时间段之后再次发出警报,但之后再也没有了。

这是我的代码

MyActivity.java

// Retrieve a PendingIntent that will perform a broadcast
Intent alarmIntent = new Intent(this, MyReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 1, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);

AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int interval = 3000; // 3 sec

manager.setRepeating(
    AlarmManager.ELAPSED_REALTIME_WAKEUP,
    SystemClock.elapsedRealtime(),
    interval,
    pendingIntent);

MyReceiver.java

public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context.getApplicationContext(), "I'm running", Toast.LENGTH_SHORT).show();
    }
}

当我运行我的应用程序时,我看到一个Toast说“我正在跑步”,然后是5秒(由于某种原因不是3秒)秒后另一个吐司。之后我什么都没看到。

如何让我的闹钟继续重复,直到我停止它为止?

0 个答案:

没有答案