반복 알람을 설정해, 알람이 실행될 때마다 서비스를 호출하려고 하는데, 알람이 한 번만 실행됩니다.
컨트롤러라는 액티비티를 만들어, 액티비티 안에서 AlarmManager 의 setInexactRepeating 메소드를 이용해 알람을 설정해 줬습니다. ( INTERVAL_FIFTEEN_MINUTES 옵션 사용)
하나의 AlarmManager 에 3 개의 알람을 셋팅해 줬지요. (일정 시간 경과 후에 실행되는 게 아니고, 특정 시간에 실행되는 알람입니다.)
Calendar cal1= ~
Calendar cal2= ~
Calendar cal3= ~
AlarmManager am = ~
am.setInexactRepeating(~, cal1, INTERVAL_FIFTEEN_MINUTES , ~)
am.setInexactRepeating(~, cal2, INTERVAL_FIFTEEN_MINUTES , ~)
am.setInexactRepeating(~, cal3, INTERVAL_FIFTEEN_MINUTES , ~)
컨트롤러에서 "Start" 라는 버튼을 누르면 3 개의 알람이 셋팅되고,
알람이 실행되면, 우선 데이터를 입력받는 액티비티가 하나 뜨고, 입력받은 데이터를 서버로 보낼 서비스를 호출하는거죠.
서버와 소켓 통신을 백그라운드에서 하게 할 예정이어서, 서비스로 구현했습니다.
그런데 실행을 해보면 알람이 한 번만 실행되고 맙니다.
제가 의도한 바는 세 개의 알람이 각자 대략 15 분에 한 번씩 실행이 되어서, 데이터를 입력받는 화면에 15 분에 한 번씩 떠야 하는건데,
아니, 최소한 반복 기능에 문제가 있다면, 알람 3 개를 설정했으면 cal1, cal2, cal3 에 설정한 시간에 한 번씩이라도 창이 떠야 하는 거 아닌가요?
혹시 서비스가 종료되면 알람도 취소되는 건가요? 이유를 잘 모르겠습니다.
- 처음 글 등록하는 거라, 공지 사항 읽어봤습니다.




pendingintent의 requestCode 값이 달라져야 알람을 여러개 등록 할 수 있다고 어디서 들었던것 같은데 확실치는 않네요