最も近い時間に AlarmManager を開始するには? たとえば、ユーザーがボタンをクリックして時刻が 12:32 の場合、13:00 にサービスを開始し、1 時間ごとに繰り返したい場合、このコードを試しましたが、機能しません。1 時間後に 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);