一鍵鎖屏

源碼片段


public class MainActivity extends Activity {

 
    private DevicePolicyManager policyManager;
 
    private ComponentName componentName;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         
        policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
        componentName = new ComponentName(this, LockReceiver.class);
 
        if (policyManager.isAdminActive(componentName)) {   //判斷是否有權限(激活了設備管理器)
            policyManager.lockNow();// 直接鎖屏
            finish();
        }else{
            activeManager();//激活設備管理器獲取權限
            finish();
        }
    }
     
    private void activeManager() {
        //使用隱式意圖調用系統方法來激活指定的設備管理器
        Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
        intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
        intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "一鍵鎖屏");
        startActivity(intent);
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章