안녕하세요.
알람 관련해서 개발 중입니다.
calendar.set(Calendar.HOUR_OF_DAY, RNhour);
calendar.set(Calendar.MINUTE, RNminute);
calendar.set(Calendar.SECOND, RNseound);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY , sender);
여기에서
RNhour, RNminute, RNseound 시간관련 데이터는 랜덤으로 처리가 되는데요.
설정된 시간(RNhour, RNminute, RNseound)이 현재의 시간보다 이전이면 sender가 바로 이 실행이 되구
이전이면 sender는 설정한 시간에 실행이 됩니다.
설정된 시간이 현재 시간보다 이전이여도 바로 실행이 안되고 다음날 부터 실행하려고 하는데.....
매일 알람을 실행하고 싶은데 바로 다음날부터 적용이 되게 하려면 어떻게 하는지요?
그리고 신규 버전이 나와서 앱을 업데이트 했을때 설정한 알람시간은 계속 지속이 되는지 아니면
다시 알람시간을 설정을 해야 하는지요?
고수님의 조언 부탁드립니다.
시각을 비교해서
알람 설정 시간이 빠르면
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis()+(24*60*60*1000), AlarmManager.INTERVAL_DAY , sender);
현재시간이 알람시간 보다 늦으면
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY , sender);
이렇게 하면 된다는 말씀이신지요?




calendar 변수를 만들때 어떻게 하셨나요?
지금 시각을 받았을거라 생각합니다.
지금 ms시각과, 알람설정후 ms시각을 비교해서, 알람이 빠르면 알람설정 시각을 +1일(24h*60m*60s*1000ms) 하면 될겁니다.