Screen pinning 3rd party apps programmatically

前端 未结 3 1991
刺人心
刺人心 2020-12-13 21:18

After achieving device ownership, I am trying to implement a method to instruct the device to lock any given app into kiosk mode (or screen pinning mode). Since I have devic

3条回答
  •  不思量自难忘°
    2020-12-13 21:42

    Here's a code snippet that should get you going:

    DevicePolicyManager myDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
    mDeviceAdminSample = new ComponentName(this, DeviceAdminSample.class);
    
    if (myDevicePolicyManager.isDeviceOwnerApp(this.getPackageName())) {
        // Device owner
        String[] packages = {this.getPackageName()};
        myDevicePolicyManager.setLockTaskPackages(mDeviceAdminSample, packages);
    } else {
        // Not a device owner - prompt user or show error
    }
    
    if (myDevicePolicyManager.isLockTaskPermitted(this.getPackageName())) {
        // Lock allowed
        startLockTask();
    } else {
        // Lock not allowed - show error or something useful here
    }
    

提交回复
热议问题