设为首页 加入收藏

TOP

Android进行设备管理(针对企业开发)
2014-11-24 03:17:15 来源: 作者: 【 】 浏览:1
Tags:Android 进行 设备管理 针对 企业 开发

设备管理


声明和定义策略


在使用设备管理功能前需在res/xml/device_admin.xml 中声明和定义要使用的设备策略,这些声明和定义的策略将会被我们的应用程序执行,如果你执行了没在 res/xml/device_admin.xml 声明和定义的策略,那将会抛出 SecurityException 异常,具体定义如下















接收设备管理中一些事件


在进行设备管理的操作中,根据具体的业务逻辑可能需要知晓一些重要事件,比如取消激活设备管理事件,这个事件就很重要了,我们必须得知道用户进行了此项操作,从而来进行一些逻辑的处理或者提示用户,还有许多的事件这里就不一一说了,具体详见DeviceAdminReceiver(http://developer.android.com/training/enterprise/device-management-policy.html#CreateDeviceAdminReceiver),我们可以继承DeviceAdminReceiver,覆写一些回调方法,具体可能如下


public class AdminReceiver extends DeviceAdminReceiver {

@Override
public DevicePolicyManager getManager(Context context) {
return super.getManager(context);
}

@Override
public ComponentName getWho(Context context) {
return super.getWho(context);
}

/**
* 禁用
*/
@Override
public void onDisabled(Context context, Intent intent) {

Toast.makeText(context, "禁用设备管理", Toast.LENGTH_SHORT).show();

super.onDisabled(context, intent);
}
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
return super.onDisableRequested(context, intent);
}

/**
* 激活
*/
@Override
public void onEnabled(Context context, Intent intent) {

Toast.makeText(context, "启动设备管理", Toast.LENGTH_SHORT).show();

super.onEnabled(context, intent);
}
@Override
public void onPasswordChanged(Context context, Intent intent) {
super.onPasswordChanged(context, intent);
}
@Override
public void onPasswordFailed(Context context, Intent intent) {
super.onPasswordFailed(context, intent);
}
@Override
public void onPasswordSucceeded(Context context, Intent intent) {
super.onPasswordSucceeded(context, intent);
}
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
}
@Override
public IBinder peekService(Context myContext, Intent service) {
//Logger.d("------" + "peekService" + "------");
return super.peekService(myContext, service);
}

}


当然还需像正常的Receiver一样得在Manifest文件中进行注册,还行注意的是在注册过程中还需引用我们刚才声明定义好的策略列表


android:name=".receiver.AdminReceiver"
android:description="@string/device_des"
android:label="@string/device_label"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
android:name="android.app.device_admin"
android:resource="@xml/device_manager" />






】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Ant编译打包Android项目 下一篇Python序列的切片操作与技巧

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)
·索引堆及其优化 - 菜 (2025-12-24 20:18:50)
·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)