Android 设备管理API概览(Device Administration API)

原文:http://android.eoe.cn/topic/android_sdk

Android 2.2通过提供Android设备管理API的支持来引入企业应用支持。在系统级的设备管理API提供了设备管理功能。这些API允许你在企业环境中创建非常有用的有安全意识的应用程序,在其中IT专业人士需要员工设备的丰富的控制权。例如,内置的Android电子邮件应用程序,利用新的API来提高Exchange的支持。通过电子邮件应用程序,Exchange管理员可以强制执行密码政策 - 包括字母数字密码或数字的PINs - 跨设备。管理员还可以远程擦除(即,恢复出厂默认设置)丢失或被盗的手机。 Exchange用户可以同步他们的电子邮件和日历数据。

本文档的目的是为想要开发Android设备的企业解决方案的开发者所准备。它讨论的设备管理API所提供的各种功能,用来给搭载Android的员工设备提供更强的安全性。

* 设备管理 API 概览(Device Administration API Overview)*

下面可以使用设备管理API的应用程序的类型的例子:

  • 电子邮件客户端。
  • 用来远程擦除的安全应用程序。
  • 设备管理服务和应用程序。

它如何工作

您使用设备管理API来编写设备管理应用程序,用户在其设备上安装。设备管理应用程序强制执行所需的策略。下面是它的工作原理:

  • 系统管理员开发强制执行远程/本地设备安全策略的设备管理应用程序。这些策略可能是硬编码到应用程序,或可以从第三方服务器上的应用程序动态地获取策略。
  • 应用程序被安装在用户的设备上。目前Android没有一个自动化的配置解决方案。一个系统管理员可能会用如下方式向用户分发应用程序:
  • * Google Play(Google 应用市场)。
  • * 启用从其它应用商店安装。
  • * 通过其他方式分发应用程序,如电子邮件或网站。
  • 系统会提示用户来使设备管理应用程序可用。如何以及何时发生这种情况取决于应用程序是如何实现的。
  • 一旦用户是设备管理应用可用,他们取决于他们的策略。遵守这些策略通常有好处,比如对敏感系统和数据的访问。

如果用户没有启用的设备管理应用程序,它仍然是在设备上,但处于非活动状态。用户不会受到其策略影响,同样他们将不会得到任何应用程序的好处,例如,他们可能无法同步数据。

如果用户不遵守的政策(例如,如果用户设置了密码,违反了指引),它是由应用程序决定如何处理这。然而,一般情况下,这会导致在用户不能够进行同步数据。

如果某个设备试图连接到一个需要在设备管理API不支持的政策的服务器,则连接将不会被允许。设备管理API目前不允许部分配置。换句话说,如果一个设备(例如,旧设备)并不支持所有既定的政策,没有办法让设备连接。

如果设备包含多个功能的管理应用,实施最严格的政策。有办法针对一个特定的管理应用程序。

要卸载现有的设备管理应用程序,用户需要先以管理员身份注销该应用程序。

策略

在企业环境中,通常的情况是,员工设备必须坚持一套严格的设备使用的管理政策。设备管理API支持表1中列出的政策。需要注意的是设备管理API目前仅支持密码锁屏:

{| class" 85%; height: 50px" |-
! 策略 !! 描述
|- style="height: 100px;"
|style=" 150px;"| 启用密码 || 需要设备要求PIN或密码。
|- style="height: 100px;"
|style=" 150px;"| 密码长度最小值 || 设置所需的密码的字符数。例如,您可以要求PIN或密码有至少6个字符。
|- style="height: 100px;"
|style=" 150px;"| 需要字母数字密码 || 需要密码有字母和数字的组合。它们可能包括符号字符。
|- style="height: 100px;"
|style=" 150px;"| 需要复杂的密码 || 要求密码必须包含至少一个字母,一个数字一个数字,一个特殊的符号。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 所需的最小字母的密码 || 在所有的管理员或一个特定的密码所需的最小数目的字母。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 最低小写字母的密码 || 需要在所有的管理员密码或一个特定的小写字母的最小数目。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 所需的最小非字母字符的密码 || 非字母字符在所有的管理员或一个特定的密码所需的最小数目。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 所需的最低位数字密码 || 在所有的管理员或一个特定的密码所需的最小数目的位数字。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 所需的最小符号的密码 || 在所有的管理员或一个特定的密码所需的符号的最小数目。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 最低的大写字母的密码 || 需要在所有的管理员密码或一个特定的大写字母的最小数量。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 密码过期超时 || 当密码将过期,表现为以毫秒为单位的增量从设备时,管理员设置的过期超时。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 密码历史记录的限制 || 此策略可以防止用户重复使用的最后Ň独特的密码。该策略通常使用结合与 setPasswordExpirationTimeout() ,这迫使用户更新他们的密码后,在规定的时间内已经过去。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 最大密码尝试失败 || 用户可以指定多少次输入了错误的密码,然后该设备清除其数据。设备管理API,管理员还可以远程将设备重置为出厂默认值。保证数据的情况下在设备丢失或被盗。
|- style="height: 100px;"
|style=" 150px;"| 最大的闲置时间锁定 || 设置的时间长度,因为用户最后一次触摸屏幕或设备之前,按下一个按钮,锁定屏幕。当发生这种情况时,用户需要输入自己的PIN或密码,才可以使用他们的设备和访问数据。该值可以是1到60分钟之间。
|- style="height: 100px;"
|style=" 150px;"| 需要存储加密 || 指定的存储区域应加密,如果该设备支持它。在Android 3.0中引入。
|- style="height: 100px;"
|style=" 150px;"| 禁用摄像头 || 指定的摄像头应该被禁用。请注意,这并不必须是一个永久禁用。该相机可以动态启用/禁用的情况下,时间等的基础上。在Android 4.0推出。
|- style="height: 100px;"
|}

其他功能

除了支持上表中列出的策略,设备管理API可让您执行下列操作:

  • 提示用户设置一个新密码。
  • 立即锁定装置。
  • 擦拭设备的数据(即,使设备恢复到出厂时的默认设置)。

* 示例应用程序*

本文档中使用的例子是基于 设备管理API示例(Device Administration API sample),它包含在SDK示例。下载和安装SDK示例的信息,请参阅 获取示例 (Getting the Samples)。这里是示例的完整的代码 (complete code)。

原文地址:https://www.cnblogs.com/vus520/p/3152755.html