现在的位置: 首页 > 综合 > 正文

设备管理应用程序的实现(Device Administration )

2013年08月10日 ⁄ 综合 ⁄ 共 1675字 ⁄ 字号 评论关闭

设备管理应用程序的实现(Device Administration )

AlexZhuang 发布于 7个月前,共有 0 条评论

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);

抱歉!评论已关闭.