设备管理器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liangjingkanji/article/details/52859867

声明设备管理器

Java

 
   
  1. public class SuperAdmin extends DeviceAdminReceiver {
  2. }

配置文件

 
   
  1. <receiver android:name=".SuperAdmin"
  2. android:label="@string/sample_device_admin"    // 设备管理器名字
  3. android:description="@string/sample_device_admin_description" // 设备管理器描述
  4. android:permission="android.permission.BIND_DEVICE_ADMIN">
  5. <meta-data android:name="android.app.device_admin"
  6. android:resource="@xml/device_admin_sample" /> // 权限配置
  7. <intent-filter>
  8. <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
  9. </intent-filter>
  10. </receiver>

XMl

目录: xml/device_admin_sample.xml
 
   
  1. <device-admin xmlns:android="http://schemas.android.com/apk/res/android">
  2. <uses-policies>
  3. <!--设置密码规则-->
  4. <limit-password />
  5. <!--监视解锁屏幕尝试次数-->
  6. <watch-login />
  7. <!--更改屏幕解锁密码-->
  8. <reset-password />
  9. <!--锁定屏幕-->
  10. <force-lock />
  11. <!--清除所有数据-->
  12. <wipe-data />
  13. <!--设置密码有效期-->
  14. <expire-password />
  15. <!--设置存储设备加密-->
  16. <encrypted-storage />
  17. <!--停用相机-->
  18. <disable-camera />
  19. </uses-policies>
  20. </device-admin>

使用设备管理器

 
    
  1. DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
  2. // 清除数据  
  3. devicePolicyManager.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);
  4. // 重置密码
  5. devicePolicyManager.resetPassword("123",0);
  6. // 立即锁屏
  7. devicePolicyManager.lockNow();

取消设备管理器

 
    
  1. devicePolicyManager.removeActiveAdmin(componentName);

判断是否激活设备管理器

 
   
  1. // 设备组件
  2. ComponentName componentName = new ComponentName(this, SuperAdmin.class);
  3. DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
  4. if (devicePolicyManager.isAdminActive(componentName)) {
  5. }

打开激活设备设备管理器页面

 
   
  1. public class DevicePolicyAcitivity extends Activity {
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. // 设备组件
  5. ComponentName componentName = new ComponentName(this, SuperAdmin.class);
  6. // 添加设备管理器意图动作
  7. Intent deviceIntent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
  8. // 设备管理器激活组件
  9. deviceIntent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
  10. // 设备管理器激活所需描述信息
  11. deviceIntent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "请激活设备管理器");
  12. // 开启设备管理器acitivity
  13. startActivity(deviceIntent);
  14. // 在当前界面未开启时就关闭
  15. finish();
  16. super.onCreate(savedInstanceState);
  17. }
  18. }



猜你喜欢

转载自blog.csdn.net/liangjingkanji/article/details/52859867