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 也能夠執行我會再寫一篇查看

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM