我刚刚开始将我的 iOS 应用程序转换为 Android。但是我遇到了以下问题。
我创建了多个类,因此弹出警报。但问题是警报每 5/10 秒弹出一次,而不是给定时间。我知道这与以下代码有关:
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + 5000, 10000, pendingIntent);
但最奇怪的是,该代码上面的给定时间不会触发任何事情:(否则我可能刚刚删除了最后一行代码)
private void setRecurringAlarm(Context context) {
Calendar updateTime = Calendar.getInstance();
updateTime.set(Calendar.HOUR_OF_DAY, 17);
updateTime.set(Calendar.MINUTE, 18);
Intent open = new Intent(this, AlarmReceiver.class);
open.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, open, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(MyApp.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime() + 5000, 10000, pendingIntent);
该代码有什么问题,因为警报不会在 17:18 弹出,而是每次在 5 或 10 秒后弹出。我为显示通知而创建的服务未在 17:18 开始显示消息。这与我的时区(阿姆斯特丹时间)有关吗?