2015-01-15 10 views
0

활동이 파괴되면 화면이 잠길 수 있기 때문에 특정 활동에서 활성 상태 일 때 화면이 잠기는 것을 원하지 않습니다. 나는 아래의 것을 시도했지만 그것은 작동하지 않는 것 같습니다.활동이 활성 상태 일 때 keyguard를 비활성화하는 방법 활동이 파괴 될 때 renable keyguard를 사용하는 방법

if (flag){ 
       Log.d("Admin", "SCREEN_OFF came from Activity"); 
       KeyguardManager manager = (KeyguardManager) this.getSystemService(Context.KEYGUARD_SERVICE); 
       KeyguardLock lock = manager.newKeyguardLock("abc"); 
       lock.disableKeyguard(); 
      } 

및 해제하면서 내가 onDestoroy

if (!flag){ 
     Log.d("Admin", "Reenabling Temp lock onDestroy"); 
     KeyguardManager manager = (KeyguardManager) this.getSystemService(Context.KEYGUARD_SERVICE); 
     KeyguardLock lock = manager.newKeyguardLock("abc"); 
     lock.reenableKeyguard(); 
     } 

주 이하로 사용하고 있습니다 : 모두 두 개의 서로 다른 클래스에 있습니다. 그리고 나는 그것이 작동하지 않는 이유가 둘 다 다른 두 개의 객체를 만들고 있습니다. 친절하게 귀하의 의견을 공유하십시오.

또한 사용 된 코드를 공유 할 수도 있습니다.

감사

+0

하여 GetWindow를 추가() addFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)하지 않도록하는 데 도움이 될 수 있습니다.; oncreate – Pavya

+0

당신이 manifest에서 허가를 선언 했습니까? <사용 권한 android : name = "android.permission.DISABLE_KEYGUARD"/> –

답변

0

이 코드는 당신이 키 가드

View view = getActivity().getCurrentFocus(); 
       InputMethodManager inputManager = (InputMethodManager) getActivity() 
         .getSystemService(Context.INPUT_METHOD_SERVICE); 
       inputManager.hideSoftInputFromWindow(view.getWindowToken(), 
         InputMethodManager.HIDE_NOT_ALWAYS); 
관련 문제