erd*_*ter 3 android repeat alarm
这工作正常:
Intent intent = new Intent(HelloAndroid2.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(HelloAndroid2.this, 0,
intent, PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (12 * 1000), pendingIntent);
Run Code Online (Sandbox Code Playgroud)
这不起作用。我只有一次听到闹钟。
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (12 * 1000), 3 * 1000, pendingIntent);
Run Code Online (Sandbox Code Playgroud)
我也试过这个,没有运气:
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 5);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 7000, pendingIntent);
Run Code Online (Sandbox Code Playgroud)
问题是什么?
来自FLAG_ONE_SHOT的PendingIntent 文档:
这个 PendingIntent 只能使用一次。如果设置,在对其调用 send() 之后,它将自动为您取消,并且以后通过它发送的任何尝试都将失败。
因此,在第一次触发 pendingIntent 后,它将被取消,下次尝试通过警报管理器发送它的尝试将失败
尝试使用 FLAG_UPDATE_CURRENT
| 归档时间: |
|
| 查看次数: |
9303 次 |
| 最近记录: |