我刚刚开始将我的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开始显示消息。 这与我的时区(阿姆斯特丹时间)有关吗?
答案 0 :(得分:0)
我认为你为.setRepeating传递了错误的值。看看the documentation
在我看来,你说的是: 从现在起5秒后第一次广播,然后在重复之后每10秒播出一次