2012-11-20 1 views
0

화면 잠금을 해제하려고합니다. 시간 초과 후 화면이 꺼지기를 원하지만, 만졌을 때 내 앱을 다시 사용하고 싶습니다.Dissable_keyGuard 플래그가 작동하지 않습니다.

final Window win = getWindow(); 
    win.setFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED, 
      WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 

이런 경우에, 나는이 매니페스트에 다음과 같은 추가 (인이 필요 ??) :

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 
<uses-permission android:name="android.permission.FLAG_SHOW_WHEN_LOCKED" /> 
keywardlock이되지 않기 때문에

, 난에서 onCreate()에 다음과 같은 시도

그래도 내 시간 초과 후 화면이 잠겨 ...

내가 뭘 잘못하고 있니? 감사합니다.

답변

1

SetFlags은 플래그와 마스크를 그렇게 사용하지 않습니다. 가장 쉬운 방법은 도우미 메서드를 사용하는 것입니다. addFlags 다음 코드를 사용하고 있습니다.

Window window = getWindow(); 
    window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
+0

내가 뭘 잘못하고 있는지 확인합니다. 그러나 귀하의 제안은 부분적으로 만 작용합니다. 귀하의 제안으로 화면 잠금을 해제 할 제스처가 필요하지는 않지만, 여전히 전화의 가운데 하단 버튼을 눌러야합니다. FLAG_KEEP_SCREEN_ON을 추가하려고 시도했지만 화면이 전혀 꺼지지 않습니다. 화면을 끄고 싶지만 화면을 터치 할 때 잠에서 깨어납니다 (중간 하단 버튼이 아님). 어쩌면 이것은 가능하지 않을 수 있습니다 ...? –

+0

나는 그것이 가능하다고 믿지 않는다. 터치 센서는 화면이 켜지면 전원이 켜집니다. 깨우기 위해 하드 버튼을 눌러야하지만 내 앱으로 곧바로 돌아갑니다. 어떻게하는지 알아 내면 알고 싶습니다 .... – Ifor

+0

나는 이해합니다. 이것과 관련된 것은 부분적인 wakockock이다. Galaxy Note (ICS)에서 작동하도록 만들지 못했지만 전체 wakelock 만 작동하는 것 같습니다. –