< 개발 환경 > |
안드로이드/Android 잠든 단말을 깨우자! PushWakeLock !!
안드로이드에서 알림이나 메시지(PUSH)를 받을 때, 단말이 켜져 있으면 상관이 없으나, 단말 스크린이 꺼져 있거나, 잠겨 있는 상태에 메시지를 받는 경우가 생깁니다. 그럴경우 사용자에게 알려주어야 할 중요한 정보가 단말이 꺼져서 받지 못하는 불쌍사가 발생하게 되는데요.!
그럴 경우를 대비해서 알림이나 메시지(PUSH) 가 도차 했을 경우, 스크린이 잠겨 있는 OFF 상태를 ON 상태로 바꿔 사용자에게 메시지가 왔다는 사실을 전달해 줍니다.
자 그럼 사용법을 알아볼까요?
package arabiannight.tistory.com.wakelock; import android.app.KeyguardManager; import android.content.Context; import android.os.PowerManager; import android.util.Log; public class PushWakeLock { private static PowerManager.WakeLock sCpuWakeLock; private static KeyguardManager.KeyguardLock mKeyguardLock; private static boolean isScreenLock; static void acquireCpuWakeLock(Context context) { Log.e("PushWakeLock", "Acquiring cpu wake lock"); Log.e("PushWakeLock", "wake sCpuWakeLock = " + sCpuWakeLock); if (sCpuWakeLock != null) { return; } PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); sCpuWakeLock = pm.newWakeLock( PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "hello"); sCpuWakeLock.acquire(); } static void releaseCpuLock() { Log.e("PushWakeLock", "Releasing cpu wake lock"); Log.e("PushWakeLock", "relase sCpuWakeLock = " + sCpuWakeLock); if (sCpuWakeLock != null) { sCpuWakeLock.release(); sCpuWakeLock = null; } } }
// 잠든 단말을 깨워라. PushWakeLock.acquireCpuWakeLock(this); // WakeLock 해제. PushWakeLock.releaseCpuLock();
퍼미션은 꼭 추가해 주셔야 합니다.
<uses-permission android:name="android.permission.WAKE_LOCK" /> |
WakeLock을 사용 하실때는, 적절한 곳에 wake와 release를 사용해 주시면 됩니다. wake와 release를 동시간대 하게되면, Wake되는 모습을 볼 수 없기 때문에 알람매니저를 사용해서 release 시켜 주거나 하는 것을 추천해 드립니다.^^
그리고 꼭 wake를 사용하신 후에는 release 시켜 줘야 합니다.
예전에 가지고 있던 소스라 출처를 못적었습니다.~!
출처 표시를 원하시면, 바로 표시해 드리겠습니다.~!
감사합니다!!
'Android > 일반' 카테고리의 다른 글
안드로이드/Android Interface를 사용한 Call Back Method 구현 하기~!! (0) | 2012.06.15 |
---|---|
안드로이드/Android Application 정보를 얻어 오자.!! (0) | 2012.06.04 |
안드로이드/Android 아이콘 사이즈~!! (0) | 2012.05.28 |
안드로이드/Android 언어 설정 하기! (6) | 2012.04.20 |
안드로이드/Android 노티피케이션(Notification) 사용법 (9) | 2012.04.18 |