알람 52

글로벌 알람매니저 등록과 취소 하는 법

앱이 눈에 보일 때만 알람매니저를 가지고 놀 생각이라면, 그냥 알람매니저 만들고 인텐트 만들어서 펜딩 시킨 뒤, cancel만 해주면 끝난다. 하지만, 알람 매니저를 글로벌로 사용할 경우 즉, 앱이 떠있거나, 덮여있거나, 자고 있거나 항상 동작하여야 할 경우에는 약간의 컨트롤을 해주어야 한다. public static AlarmManager mAlarmMgr = null; public static PendingIntent mAlarmIntent = null; public void setAlarmManager(){ mAlarmMgr = (AlarmManager) mContext.getApplicationContext().getSystemService(Context.ALARM_SERVICE); Intent ..

안드로이드 시간대 설정 변경 이벤트

사용자가 직접 시간대를 변경하거나, 비행기를 타고 가다가 새로운 타임존을 만났을 때 안드로이드는 2가지 이벤트를 발생시킨다. 만약, 시간에 민감한 어플리케이션을 운영한다면 이러한 돌발? 변수에 대한 고려를 하지 않았다면.... 뒤통수가 엄청 가려워질 것이다. 사용자가 시간을 변경 했을 때ACTION_TIME_CHANGED 타임존을 변경 했을 때ACTION_TIMEZONE_CHANGED 위 브로드캐스트 메시지를 Manifest 에 등록하고 Receiver에서 아래와 같이 캐치해주면 최소한 가려운 머리에 샴푸는 바른 것이다. if(Intent.ACTION_TIME_CHANGED.equals(intent.getAction()) ){ cancelAlarmManger(); setTime(); } if(Intent..