Android 2.2 introduces support for enterprise applications by offering the Android Device Administration API.
从Android2.2 起,Android官方就提供了设备管理API,我们可以通过这个API实现远程删除数据、设置锁屏密码等系统级别的操作。
具体详见:http://developer.android.com/guide/topics/admin/device-admin.html
下面就是设备管理应用程序开发的简化实现步骤:
1.创建 MyAdmin 的广播接受者 继承 DeviceAdminReceiver
AndroidManifest.xml
<receiver android:name=".MyAdmin">
<meta-data android:name="android.app.device_admin"
android:resource="@xml/my_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
MyAdmin.java
package com.alex.mobilesafe.receiver;
import android.app.admin.DeviceAdminReceiver;
public class MyAdmin extends DeviceAdminReceiver {
}
2. 创建XML文件:res/ xml /my_admin.xml
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
</uses-policies>
</device-admin>
3.注册广播接受者为admin设备
DevicePolicyManager manager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
ComponentName mAdminName = new ComponentName(this, MyAdmin.class);
if (!manager .isAdminActive(mAdminName)) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mAdminName);
startActivity(intent);
}
4.使用DevicePolicyManager
锁屏并设置锁频密码
DevicePolicyManager manager =
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
manager.resetPassword("123", 0);
manager.lockNow();
远程删除数据
DevicePolicyManager manager =
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
manager.wipeData(0);