2016-10-26 6 views
2

장치를 깨우고 잠금 해제하려고합니다. 그런 다음 사용자가 Firebase의 새 메시지를 받으면 활동을 표시하고 싶습니다.장치를 프로그래밍 방식으로 깨우기

이 API> 19 문제가있는 장치 작동
window = this.getWindow(); 
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

KitKat에, 그것은 아무것도하지 않는 하나 또는 그 화면을 깰하지만 잠금을 해제하지 않는다는 것입니다 :

나는 onResume() 방법에 쓴 장치.

또한 나는 AndroidManifest.xml에 올바른 사용 권한을 설정 :

MyFirebaseMessagingService.class에서 또한
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 

, 내가 플래그와 FLAG_ACTIVITY_NEW_TASK로 활동을 시작하고있다.

내가 누락 된 부분을 아는 사람이 있습니까?

도움 주셔서 감사합니다.

+0

검사 코드 [링크]를 통해 잠금 해제 장치에 대한이 링크를 (일 http://stackoverflow.com/questions/14352648/how-to-lock-unlock-screen- 프로그래밍 방식으로) –

답변

1

알았어. 난 그냥 코드의 조각을 추가하고

KeyguardManager manager = (KeyguardManager) this.getSystemService(Context.KEYGUARD_SERVICE); 
KeyguardManager.KeyguardLock lock = manager.newKeyguardLock("abc"); 
lock.disableKeyguard();