|
안드로이드 장치의 전원 상태를 조절할 수 있다. 즉 각 장치의 배터리 소모에 영향을 미치므로 hw lock을 얻은 후엔 release를 확실히 해야 한다. Power Manager supportScreen on/off Screen backlight on/off keyboard backlight on/off button backlight on/off adjust screen brightness Not supported sleep, standby Power Manager steps Activity mContext = this; //Get a handle to the PowerManager //Create a WakeLock and specify the power managerment flag //Acquire a wake lock WakeLock flags
screen 에만 적용되는 두 가지 flag가 있고, 다만
android 대기모드에서 돌아가게 만들기 [출처] android 대기모드에서 돌아가게 만들기.|작성자 박해철 안드로이드의 특징중에 하나를 꼽는다면 백그라운드 실행이라고 할 수 있겠습니다. 아이폰과 다르게 멀티테스킹이 가능한 android.net.wifi.WifiManager.WifiLock
을 이용해서 wifi상태를 유지시켜줘야 합니다.
android.os.PowerManager.WakeLock
|
이것을 사용하는 방법은 간단히
PowerManager.WakeLock wakeLock = null; //등록 if (wakeLock == null) { PowerManager powerManager = (PowerManager) context.getSystemService(context.POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "wakelock"); wakeLock.acquire(); } //해제 if (wakeLock != null) { wakeLock.release(); wakeLock = null; }
이렇게 하면 됩니다. 이 두가지를 유지시켜 준다면, 백그라운드로 실행을 하면서 대기 모드로 전환이 된다고 해도, 해당 어플이 죽거나 하는 일은 없겠지만, 그만큼 배터리 소모가 많아지기 때문에 안드로이드폰을 오래 사용할 수는 없겠지요.
'개발 > 안드로이드' 카테고리의 다른 글
[android]블루투스(bluetooth) 통신 (0) | 2011.05.30 |
---|---|
안드로이드 키보드 옵션 (0) | 2011.05.12 |
Manifest <activity> configChanges attribute. (0) | 2011.05.12 |
Custom ProgressBar 사용 (0) | 2011.05.04 |
안드로이드 (android) 네트워크 프로그램 사용시 Connection Timeout 체크하기 (0) | 2011.05.03 |
댓글