2013-05-08 2 views
1

wockockock을 사용하여 안드로이드 장치를 깨울 수 있습니까? 아니면 이것이 불가능하며 알람 관리자를 사용해야합니까?웨이크 잠금 장치를 사용하여 깊은 잠에서 안드로이드 장치를 깨우는 방법?

이 핸들러는 내가 표시를 해제 할 시간이 뒤에 다음 코드를 실행하는 데 사용되는

new Handler().postDelayed(new Runnable() { 
     public void run() { 
     PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); 
     WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "bbbb"); 


     wl.acquire(); 
     wl.release(); 
     } 
    }, 10000); 

작동하지 않습니다.

+0

Wakelock은 장치가 깨어나지 않도록 (부분적으로) 잠자기 상태가되지 않도록하기위한 것입니다. – mach

+0

어떻게 깨울 수 있습니까? 'AlarmManager'에서 찾은 모든 것은 특정 시간대에만 작동하고 특정 코드 행에서는 작동하지 않습니다. 마찬가지로, 나는 'AlarmManager'를 사용하여 장치를 깨우지 못하게 알릴 수 없습니다. – Seth

+0

알림을 통해 장치를 깨 웠음을 의미합니까? 장치가 잠 들어있을 경우 알림을 만들 수 없습니다. 기기를 깨우려는 항목에 대해 더 자세히 설명해주세요. –

답변

3

예. AlarmManager를 사용하여 장치를 대기 모드에서 깨우지 않으면 안됩니다. BroadcastReciver에서 Handler에서했던 것처럼 wakelock을 획득하십시오. 이것은 효과가있다.

처리기에 대한 참고 사항. 장치가 대기 모드가 아닌 경우에만 작동합니다. 장치가 대기 모드로 전환되면 장치를 수동으로 깨울 때까지 처리기가 비활성화됩니다.

+0

쓰레기. 내가 뭘 하려는지 뚜껑을 열 때 장치를 깨우려면 내 태블릿의 anroid.policy.jar 파일을 수정하는 것입니다. (키보드 도킹 장치가 있습니다.) 따라서 anroid.policy.jar에서 알람 관리자를 사용하여 브로드 캐스트 인 텐트를 보낸 다음 알람 관리자로부터 브로드 캐스트 인 텐트를 처리하기 위해 쓴 두 번째 앱을 가지고 있습니다. – Seth

+0

예, 그렇게해야합니다. 뚜껑을 열었을 때 방송을 캡처 할 수 있다면 전체 화면 깨우기 잠금 장치를 잡으면 완료됩니다! –

+0

BroadcastReciver 컨텍스트에는 10 초의 런타임 만 있습니다. Intent를 서비스 나 활동에 전달해야합니다. – mach

관련 문제