[Android] 알람의 사용

제이제이·2023년 8월 21일
0

Android 알람

목록 보기
1/2
post-thumbnail

알람이 필요한 이유

어플리케이션을 만들 때 정확한 시간에 알림 및 알람이 필요할 때가 있습니다.
예를 들어 약 먹을 시간, 기상 시간, 약속 시간 등 필요한 곳이 많습니다.

그럼 알람 기능을 어떻게 사용하는지 알아보겠습니다.

알람 사용

1. AlarmManager의 사용

AlarmManager를 사용하면 알람의 기능을 사용할 수 있는데, Broadcast Receiver로 알람을 받아 이벤트를 발생시킬 수 있습니다.
어플리케이션이 실행 중에 있지 않은 상태에서의 알람을 사용하고 싶은 경우 클래스 기반의 AlarmManager를 사용하는 것이 좋습니다.
( 어플리케이션이 실행 중이라면 다른 방법이 자원관리에 더 효율적이기 때문입니다. )

2. AlarmManager 특징

AlarmManager를 사용하면 어플리케이션이 실행중이지 않거나 다른 작업을 할 때 지정된 시간에 알람 이벤트를 발생시킬 수 있습니다.
알람은 지정된 시간에 인텐트를 실행하므로 어플리케이션을 계속 실행하지 않아도 되기 때문에 자원을 효율적으로 관리하는데 도움이 됩니다.

3. 알아야할 점

AlarmManager에 있는 public methods를 살펴보면 알람을 발생시킬 여러 가지 메소드들이 있습니다.
몇 개를 살펴보면 아래와 같습니다.

setExact // 명시된 시간에 정확하게 전달되도록 알람 예약
setRepeating // 반복 알람 예약
setExactAndAllowWhileIdle // setExact와 비슷하지만 유휴모드 상태에서 실행 가능

하지만 가이드가 제시하는 방법으로 정확한 시간에서 알람이 울리지 않습니다.
게다가 Android 6.0(API LEVEL 23)부터 기기 배터리 수명연장을 위해 유휴 모드(기기가 잠들어있는 상태)가 도입되었는데 setExactAndAllowWhileIdle 방법으로도 정상 작동되지 않습니다.

setAlarmclock을 사용하면 정확한 시간에 알람이 울립니다.
단, setAlarmClock을 사용하면 배터리 사용량이 높아지는 단점이 있습니다.
자동차를 타면 교통사고의 위험을 부담하는 단점이 있습니다.
하지만 보다 빠르게 이동할 수 있는 더 좋은 장점이 있듯이, setAlarmClock도 배터리 사용량이 높아지는 단점 보다 정확한 시간의 알람의 장점이 더 크기 때문에 사용하는 게 더 좋지 않나 생각합니다.

끝으로

다음 글에서는 이런 방법을 해결하고 정확한 시간에 알람이 울릴 수 있도록 하는 방법에 대해 알아보겠습니다.

0개의 댓글