마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Powermanager 로 Screen on/off 시 터치 후 Window Focus 획득하여 화면이 안꺼지는 문제입니다.

0 추천

Powermanager 로 Screen on/off 시 화면은 안꺼지고 키패드만 꺼지는 현상이 일어납니다.

제 생각에는 터치 후 Window Focus 획득하여 일어나는 현상인것 같은데 Window Focus를 Release 하는방법을 모르겠습니다.

또한 이 문제가 아니라면 해결 방법을 아시는분 도움좀 주세요 ㅠㅠ.

코드는 아래와 같습니다.

package com.example.sensorservice;

import android.content.Context;
import android.os.PowerManager;
import android.util.Log;

public class PushWakeLock {
 public static PowerManager.WakeLock sCpuWakeLock;
 private static PowerManager pm;

 static void acquireCpuWakeLock(Context context) {
  Log.e("test", "Acquiring cpu wake lock");
  // Log.e("PushWakeLock", "wake sCpuWakeLock = " + sCpuWakeLock);

  if (sCpuWakeLock != null) {
   return;
  }

  pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);

  // Log.i("test", String.valueOf(pm.isScreenOn()));

  sCpuWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
    | PowerManager.ACQUIRE_CAUSES_WAKEUP, "hello");

  if (sCpuWakeLock != null) {
   sCpuWakeLock.acquire();
  }

 }

 static void releaseCpuLock() {
  Log.e("test", "Releasing cpu wake lock");
  // Log.e("PushWakeLock", "relase sCpuWakeLock = " + sCpuWakeLock);

  if (sCpuWakeLock != null) {
   sCpuWakeLock.release();
   sCpuWakeLock = null;
  }
 }
}

 

토째비 (140 포인트) 님이 2014년 1월 14일 질문

1개의 답변

0 추천
IME 를 먼저 hide 시키고 해도 안되나요?
익명사용자 님이 2014년 1월 15일 답변
IME면은 입력기 말씀하시는거져?

질문입니다. 키보드 인터페이스가 뜨지 않는데도 그걸 hide 시켜야하나요???
위에보니 sCpuWakeLock.release(); 가 스크린 off 로 쓰신거로 보이는데...
기억이 가뭇 가뭇 하지만 스크린 wake를 시키고 해당 사항을 풀어주는 걸로 알 고 있습니다
예를 들면 특정 동작을 할때는 화면이 꺼지면 안되기ㄷ때문에 꺼지지 않게 설정한다던가 그런걸로요.
그리고 릴리즈로 풀어준다면 스크린 락이 출리는 거고 off 되는 형태는 아닌 걸로 알고 있어요.

짧지만 지나가다 써봐요.
아닐 수도 ㅎㅎ
...