如何在最近的时间上启动 AlarmManager?例如,当用户单击按钮并且时间是 12:32 时,我想在 13:00 开始服务,然后每小时重复一次,我尝试了此代码,但它不起作用,它仅在一个小时后启动 AlarmManager,因此,如果时间是 12:32,它将在 13:32 开始服务。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY)+1);
AlarmManager alarm = (AlarmManager)myService.this.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(myService.this, AlarmReceiver.class);
PendingIntent pIntent = PendingIntent.getBroadcast(BatteryService.this, 0, i, 0);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 1000*60*60, pIntent);