2013-08-06 63 views
0

我需要在用戶單擊按鈕時鎖定android設備。我搜索了stackoverflow並閱讀了相同的問題,但我沒有找到任何適用於所有版本android的代碼。你知道任何可以在任何版本的android上運行的方法嗎? (1.6+)android-如何鎖定設備(在android 1.6+中)

UPDATE:我想調出用戶設備的鎖定屏幕,我的意思是我自己不想鎖定屏幕,只想顯示用戶的默認鎖定屏幕。我試圖thisthis,但他們都沒有工作......

+3

?請提供一些細節和一些代碼,直到現在。 – Sameer

+0

@AndroidDeveloper我提到了更多細節! – Soheil

回答

0

您可以使用類似這樣它利用DevicePolicyManager:

public class SMSMessagingActivity extends Activity 
    { 
     /** 
     * Called when the activity is first created. 
     */ 
     public static DevicePolicyManager mDPM; 
     public static ComponentName devAdminReceiver; 

     @Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 
      devAdminReceiver = new ComponentName(context, deviceAdminReceiver.class); 
     } 

     public static void LockNow() 
     { 
      mDPM.lockNow(); 
     } 

     @Override 
     public void onResume() 
     { 
      boolean isAdmin = mDPM.isAdminActive(devAdminReceiver); 
      if (isAdmin) 
      { 
       mDPM.lockNow(); 
      } 
      else 
      { 
       Log.i(tag, "Not an admin"); 
      } 
     } 
    } 
你想使用密碼或什麼鎖定裝置
+0

thanx,但它使用'devicePolicyManager'因此只適用於android 2.2 + ... – Soheil

+0

沒有一種方法可以處理1.6+和2.2+設備..對於1.6+,您可以使用KeyguardManager和KeyguardLock,這似乎更容易。 – dendini

+0

你能解釋一下嗎? 「KeyguardManager」和「KeyguardLock」究竟意味着什麼?我嘗試http://stackoverflow.com/a/3594553/2618890但它沒有工作... – Soheil