我正在使用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秒)秒后另一个吐司。之后我什么都没看到。
如何让我的闹钟继续重复,直到我停止它为止?