我想设置一个警报,该警报在2天后触发,可以说在特定时间,例如,我将警报设置为上午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()
做错了,但是我不确定该怎么做