問題は、繰り返しアラームの最初の発火を遅らせたいことです。たとえば、この保留中のインテントがすぐにではなくクリックの 10 分後に機能するようにしたいのですが、どうすればよいですか?
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(Main.this, ReportService.class);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar c = Calendar.getInstance();
PendingIntent pendingIntent = PendingIntent.getService(Main.this, 0, intent, 0);
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), 112500, pendingIntent);
}
この setInexactRepeating の 2 番目のパラメータは、triggerAtMillis と呼ばれます。これは不正確です。アラームはこの時間より前には起動しませんが、アラームが最初に呼び出される前に、ほぼすべてのアラーム間隔の遅延が発生する可能性があります。
私はそれを変更していますが、常にクリックすると開始され、遅延はありません。