Android DevicePolicyManager 设备管理
概念简述
Android已然成为用户基数最大的智能手机系统,随着各行各业的加入,Android的不足之处也逐渐显现出来,显然有很多特殊行业并不适合使用Android系统。Google为了应对不同用户群体,慢慢的完善推出了DevicePolicyManager。
DevicePolicyManager,设备策略管理器。顾名思义,DevicePolicyManager为Android系统的管理提供了一套策略,到目前为止,Android先后推出了三种设备管理方案:
- Device Administration, 设备管理员
- Profile Owner, 配置文件所有者
- Device Owner, 设备所有者
Device Admin
DeviceAdmin 是Android2.2引入的方案,通过用户授权自己的应用设备管理权限后,可以在代码中修改一些系统设置,主要的功能是围绕锁屏这一块对权限比较“敏感”的区域。要使一个应用成为Device Admin,需要在应用中配置一个xml,xml中声明相应的权限,这些权限基本代表了DeviceAdmin可以使用的能力,如下:
<?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 />
<!-- 设置锁屏密码的有效期 -->
<expire-password />
<!-- 设置存储设备加密 -->
<encrypted-storage />
<!-- 禁用相机 -->
<disable-camera />
</uses-policies>
</device-admin>
DeviceAdmin可以实现的功能大致就是如上几种,比如对密码的修改、监控、一键锁屏(市面上的一键锁屏apk大都是使用这种办法实现,包括很多Launcher程序也需要成为DeviceAdmin应用),还有禁用相机、加密存储设备等能力。
详细了解DeviceAdmin的使用详情,请查看博客Android Device Administration 应用的能力
ProfileOwner
ProfileOwner 译为配置文件所有者,在Android5.0系统推出。ProfileOwner涵盖了所有DeviceAdmin用户的管理能力。Google为了细化行业领域的管理而推出了这一组API,也被称为Android for work,旨在让用户在体验上可以轻松的兼顾生活和工作,可以将你的个人信息和工作信息等进行分类,随时查看,可以说是专门为企业用户打造,它在DeviceAdmin基础上增加了更多的能力,但是其使用并不方便,要使用 Android for Work 不仅仅需要设备和系统层面的支持,企业还需要选择一个兼容的”企业移动管理”解决方案(Enterprise Mobility Management,EMM)。Google提供了一个付费的方案Google Apps for Work, 每月需要支付5美元,并且需要连接外网,这对于国内用户来说,显然是不实际的。
ProfileOwner的主要功能如下:
- 隐藏应用,可停用制定应用并且不再界面显示,除非调用相应API恢复可用,否则该应用永远无法运行。可以用来开发应用黑白名单功能。
- 禁止卸载应用,被设置为禁止卸载的应用将成为受保护应用,无法被用户卸载,除非取消保护。
- 复用系统APP
- 修改系统设置
- 调节静音
- 修改用户图标
- 修改权限申请的策略
- 限制指定应用的某些功能
- 允许辅助服务
- 允许输入法服务
- 禁止截图
- 禁止蓝牙访问联系人
详细了解ProfileOwner的使用详情,请查看博客Android ProfileOwner 应用的能力
DeviceOwner
DeviceOwner, 设备所有者,Android5.0引入。同样的,DeviceOwner涵盖了所有DeviceAdmin用户的管理能力,是一类特殊的设备管理员,具有在设备上创建和移除辅助用户以及配置全局设置的额外能力。DeviceOwner完善了行业用户的MDM(Mobile Device Manager)行业管理能力,主要能力如下:
- 设置网络时间同步, 设置后无法从Settings取消
- 用户管理, 创建用户、删除用户等
- 管理账号系统
- 清除锁屏
- 设置Http代理
- 禁止状态栏
- 通知等待更新
- 禁用相机
- 隐藏应用
- 禁止卸载应用
- 复用系统APP
- 获取wifi地址
- 重启系统
详细了解DeviceOwner的使用详情请,请查看博客Android DeviceOwner 应用的能力