Android 애플 리케이션 알람 기능
Android 애플 리케이션 알람 시계처럼 알람 기능을 구현하는 방법은 없나요?
Android 애플 리케이션에서 그 Android 애플 리케이션을 시작하지 않은 상태에서 지정된 시점에 Android 응용 프로그램을 실행시킬 수있는 알람 기능이 있습니다.
용도로는 그대로 알람 시계와 같은 사용법 수도 있고, 정해진 시간에 어떤 서버에 연결 시키겠다는 같은 것도 있습니다.
간단한 알람을 설정하는 간단한 예제를 설명합니다.
알람을 설정할 때 먼저 AlarmManager는 알람을 담당하는 관리자의 인스턴스를 가져옵니다.
AlarmManager mng =
(AlarmManager) getSystemService (Context.ALARM_SERVICE);
그리고는이 관리자 set () 메서드를 사용하여 알람을 설정하면됩니다.
AlarmManager.set ()의 사용법에 대해 설명합니다.
이 AlarmManager.set ()의 첫 번째 인수는 시작 시간을 설정하는 방법을 AlarmManager 클래스의 정수로 지정합니다.
다음 4 개의 정수가 포함되어 있습니다.
AlarmManager.ELAPSED_REALTIME
전원 ON시부터의 경과 시간 값을 지정합니다.
AlarmManager.ELAPSED_REALTIME_WAKEUP
전원 ON시부터의 경과 시간 값을 지정합니다. 만약 절전 모드에 있으면 전원을 넣어줍니다.
AlarmManager.RTC
시간을 지정합니다. 만약 절전 모드에 있으면 전원을 넣어줍니다.
AlarmManager.RTC_WAKEUP
시간을 지정합니다.
AlarmManager.set ()의 두 번째 인수는 시작 시간을 설정합니다.
첫 번째 인자로 설정하여 부팅 방법에 따라 의미가 달라집니다.
ELAPSED_REALTIME or ELAPSED_REALTIME_WAKEUP 경우
SystemClock.elapsedRealtime가 나타내는 값을 지정합니다.
전원 ON 후의 경과 시간입니다.
RTC or RTC_WAKEUP 경우
System.currentTimeMillis가 나타내는 값을 지정합니다.
현재 시간 것입니다.
제 3 인수에는 경보 시작 시에 발행하는 Intent를 설정합니다.
구체적인 예로서는 다음과 같은 샘플 코드입니다.
/ / 알람 관리자 검색
AlarmManager mng =
(AlarmManager) getSystemService (Context.ALARM_SERVICE);
/ / GregorianCalendar 생성
GregorianCalendar calendar;
calendar = new GregorianCalendar ();
<GregorianCalendarの設定処理は省略>
/ / 게시 Intent 생성
Intent i =
new Intent (getApplicationContext () AlarmCheckActivity.class);
PendingIntent pi = PendingIntent.getActivity (this, 0, i, 0);
/ / Alarm을 설정
mng.set (AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis (), pi);
일부 발췌이지만, 위와 같은 느낌으로 알람을 설정할 수 있습니다.
다음은 응용하기 나름 이군요.
단순히 알람 시계처럼 사용할뿐만 아니라, 예를 들면 Twitter 클라이언트 같은 애플 리케이션에서 일정 시간에 자신에게 메시지를 확인한다는 같은 사용법도 할 수 있다고 생각합니다.











