0

최근 에뮬레이터 잠금 및 잠금 해제 화면에서 하나의 프로젝트를 수행하고 있습니다. 단추 하나를 넣습니다. 그 버튼을 누르면 전화기를 잠그고 싶습니다.어떻게 안드로이드 에뮬레이터에서 잠금 해제 화면을 얻을 수 있습니까?

내 문제는 버튼을 눌러도 아무 일도 일어나지 않는 경우입니다. 제게이 점에 대해 알려주세요.

어떻게이 코드를 사용하여 잠금을 해제 할 수 있습니까?

 public class Test extends Activity implements OnClickListener{ 
/** Called when the activity is first created. */ 
Button btn1; 
private KeyguardManager mKeyguardManager; 
private KeyguardManager.KeyguardLock mKeyguardLock; 
private static final String TAG = "ALERTLock"; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    btn1=(Button)findViewById(R.id.button1); 
    btn1.setOnClickListener(this); 

     int flags = getFlagsForVersion();   
     getWindow().addFlags(flags); 
     mKeyguardManager = (KeyguardManager)  

      getSystemService(Context.KEYGUARD_SERVICE); 
} 


public void onClick(View v) { 
    // TODO Auto-generated method stub 
    if(v==btn1) 
    {   
     disableKeyguard(); 

    } 
     else  
     { 
      enableKeyguard(); 
     } 
} 
private int getFlagsForVersion() { 
     final String possibleFlags[] = new String[] { 
      "FLAG_SHOW_WHEN_LOCKED", 
      "FLAG_DISMISS_KEYGUARD", 
      "FLAG_TURN_SCREEN_ON" 
     }; 

     int flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; 
     for(String flag:possibleFlags) { 
      try { 
       Field field = WindowManager.LayoutParams.class.getField(flag); 
       int value = field.getInt(null); 
       flags |= value; 
      } 
      catch(NoSuchFieldException e) { } 
      catch(IllegalAccessException e) { } 
     } 

     return flags; 
    } 

    private synchronized void enableKeyguard() { 
     if (mKeyguardLock != null) { 
      mKeyguardLock.reenableKeyguard(); 
      mKeyguardLock = null; 
     } 
    } 

    private synchronized void disableKeyguard() { 
     if (mKeyguardLock == null) { 
      mKeyguardLock = mKeyguardManager.newKeyguardLock(TAG); 
      mKeyguardLock.disableKeyguard(); 
     } 
    }  
    @Override 
    protected void onNewIntent(Intent intent) { 
     super.onNewIntent(intent); 
     disableKeyguard(); 
    } 

    @Override 
    public void onResume() { 
     super.onResume(); 
     disableKeyguard(); 
    } 
} 

답변

0

// 로그 캣이 라인이

public void onClick(View v) { 

switch(v.getId()){ 
    case R.id.button1: 
    //do this 
Log.d("clicked enable","-----"); 
enableKeyguard(); 

    break; 
} 
+0

을 가능하게 인쇄되어 :: 내가 이렇게 한번 을 시도하고 확인하고 그 수를 클릭하지만 내가 잠금 및 잠금 해제 할 잠금 수행하지 보았다. .. 당신이 어떤 해결책이라도 가지고 있으면 나를 보내주세요. – Naman

관련 문제