这很管用:
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);
这不管用。我只听到一次警报声。
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (12 * 1000), 3 * 1000, pendingIntent);
我也试过这个,不走运:
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 5);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 7000, pendingIntent);
怎么了?
最佳答案
从PendingIntent doc中选择一个镜头:
这个下垂的罐子
只使用一次。如果设置,则在
对它调用send(),它将
自动为您和任何
未来尝试通过它将
失败了。
因此,在第一次启动PendingEntent后,它将被取消,并且下次尝试通过Alarm Manager发送它将失败
尝试使用标记更新当前
关于android - Android重复闹钟无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4700058/