Я хочу установить будильник, который срабатывает через 2 дня, скажем, в указанное c время. Например, я установил будильник на 10:00 утра и хочу, чтобы он срабатывал через 2 дня в 10:00 утра при срабатывании через каждые 2 дня. Пока что я пишу код, но после установки времени и интервальных дней мой сигнал тревоги срабатывает сразу на месте, и я намеревался запускать его через каждые 2 дня. ниже мой код:
final int hour = alarmTimePicker.getCurrentHour();
final int minute = alarmTimePicker.getCurrentMinute();
String hour_string = String.valueOf(hour);
String minute_string = String.valueOf(minute);
// 10:8 to 10:08
if (minute < 10) {
minute_string = "0" + String.valueOf(minute);
}
time = hour_string + ":" + minute_string;
calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute());
SharedPreferences pref4 = getSharedPreferences("RequestCode", Activity.MODE_PRIVATE);
RequestCode = pref4.getString("code", "0");
if (RequestCode.equals("0")) {
RequestCode = "2";
}
int code = Integer.parseInt(RequestCode);
Intent intent1 = new Intent(AutoForwarding.this, AlarmReceiver.class);
intent1.putExtra("requestCode", code);
PendingIntent pendingIntent = PendingIntent.getBroadcast(AutoForwarding.this, code, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) AutoForwarding.this.getSystemService(Context.ALARM_SERVICE);
//am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000 * 60 * 60 * 48, pendingIntent);
code++;
String rCode = String.valueOf(code);
SharedPreferences pref3 = getSharedPreferences("RequestCode", MODE_PRIVATE);
SharedPreferences.Editor ed3 = pref3.edit();
ed3.putString("code", rCode);
ed3.apply();
}
что я делаю не так? Я думаю, что я делаю неправильно в calendar.getTimeInMillis()
, но я не уверен, что делать, чтобы сделать это правильно