zoukankan      html  css  js  c++  java
  • Android设备管理器

    关于这个东西有神魔用,我现在只知道一个xml文件上的功能都能够完成,如下:

    <device-admin xmlns:android="http://schemas.android.com/apk/res/android">
      <uses-policies>
        <limit-password />   //限制密码
        <watch-login />      //查看登录
        <reset-password />   //重置密码
        <force-lock />       //锁屏
        <wipe-data />        //清除数据
        <expire-password />  //密码到期时间
        <encrypted-storage /> //加密存储
        <disable-camera />    //关闭相机
      </uses-policies>
    </device-admin>

    我也只用过   <reset-password />  <force-lock />  <wipe-data /> 这三个功能

    关于如何使用?这里写个步骤会看的简单一点:

       First, 整一个类继承 DeviceAdminReceiver ,DeviceAdminReceiver是个广播接收者(看name应该也能猜出吧)

       Second, 在清单文件中注册自己刚刚建立的广播接收者,在注册时要注意在 meta-data 中要写入一个xml 的文件其实就是我们上面的那个功能文件表

       Third,启动我们的设备管理器并使用相关的功能

    下面看代码学习:

    第一步:

    这里我并未实现 DeviceAdminReceiver 的任何方法,但是我们仍然可以用上面列表中的功能

    public class DeviceAdmin extends DeviceAdminReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            super.onReceive(context, intent);
            
            System.out.println();
        }
    }

    第二部:

    这里是一个 广播接收者的注册,注意红色的两行

           <receiver
                android:name="com.example.broadcastreceiver.DeviceAdmin"
                android:description="@string/sample_device_admin_description"
                android:label="@string/sample_device_admin"
                android:permission="android.permission.BIND_DEVICE_ADMIN" >
                <meta-data
                    android:name="android.app.device_admin"
                    android:resource="@xml/device_admin_sample" />
                <intent-filter>
                    <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
                </intent-filter>
            </receiver>

    第三步:

                        mDevicePolicyManager=(DevicePolicyManager)arg0.getSystemService(Context.DEVICE_POLICY_SERVICE);
                        mComponentName=new ComponentName(arg0, DeviceAdmin.class);


    Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mComponentName); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "设备管理器"); startActivityForResult(intent, REQUEST_CODE_ENABLE_ADMIN);

          使用功能

                        if (mDevicePolicyManager.isAdminActive(mComponentName)) {
                            mDevicePolicyManager.lockNow();
                            // 锁屏同时清除密码
                            System.out.println("LOCKSCREEN" + "我执行了");
                            mDevicePolicyManager.resetPassword("789", 0);
    }

       if (mDevicePolicyManager.isAdminActive(mComponentName)) {
                            mDevicePolicyManager.lockNow();
                            mDevicePolicyManager.wipeData(0);
                        }

    如上,简单的设备管理器功能就使用了。

    关于设备管理器注册时不声明为android.app.action.DEVICE_ADMIN_ENABLED 也能够执行我会再写一篇查看

  • 相关阅读:
    构建之法阅读笔记
    人月神话阅读笔记
    人月神话阅读笔记2
    人月神话阅读笔记
    第十周总结
    第九周总结
    进度日报10
    进度日报8
    进度日报7
    进度日报6
  • 原文地址:https://www.cnblogs.com/zzl521/p/8945870.html
Copyright © 2011-2022 走看看