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

其他功能

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

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

* 示例应用程序*

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

Android 设备管理API概览(Device Administration API)的更多相关文章

  1. Zookeeper C API 指南四(C API 概览)(转)

    上一节<Zookeeper C API 指南三(回调函数)>重点讲了 Zookeeper C API 中各种回调函数的原型,本节将切入正题,正式讲解 Zookeeper C API.相信大 ...

  2. node-webkit学习(3)Native UI API概览

    node-webkit学习(3)Native UI API概览 文/玄魂 目录 node-webkit学习(3)Native UI API概览 前言 3.1  Native UI api概览 Exte ...

  3. Android Device Administration 设备管理器——实现一键锁屏

    Android Device Administration 设备管理器--实现一键锁屏 最近研究了一下安全这一块的内容,当然,我是比较水的,所以也拿不出什么好知识点,但是有一些冷门的东西我还是可以聊聊 ...

  4. Android 新老两代 Camera API 大起底

    https://blog.csdn.net/Byeweiyang/article/details/80515192 0.背景简介 最近有一部分相机相关的需求,专注于对拍摄的照片.视频的噪点.色温.明暗 ...

  5. [Android]使用Dagger 2依赖注入 - API(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5092525.html 使用Dagger 2依赖注入 - API ...

  6. android怎样调用@hide和internal API

    android怎样调用@hide和internal API 2012-12-11 16:21 8772人阅读 评论(3) 收藏 举报  分类: Android开发(277)  Android有两种类型 ...

  7. Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 10

    今天编译一个project,我设置为api 14,可是编译报错: Using 1.7 requires compiling with Android 4.4 (KitKat); currently u ...

  8. IIS 7管理API——Microsoft.Web.Administration介绍

    原文:http://www.cnblogs.com/dflying/archive/2006/04/17/377276.html 本文翻译整理自Carlos Aguilar Mares的blog文章: ...

  9. Android应用中使用百度地图API并加入标注(一)

    网上一些资料这样的的内容已经过时了,这里是最新的内容,假设哪里不正确,请吐槽... 1)下载百度地图移动版API(Android)开发包       要在Android应用中使用百度地图API,就须要 ...

随机推荐

  1. MongoDB numa系列问题一:[initandlisten] connection refused because too many open connections:

    1:Mongod日志有很多这样的报错: [initandlisten] connection refused because too many open connections: 2:查看系统的限制 ...

  2. unity3d uv动画

    做个总结吧.算是. 之前做过一个项目,是一个关于太空大战的项目. 算是自己做的吧.大体环境是unity3d + win32,mac上不行.好像不支持这个,原因未知.希望知道的告诉我下. 以下具体说下整 ...

  3. Java 基础【14】@注解

    1.注解简介 JDK 1.5 中引入的 java.lang.annotation 包提供注解编程支持,可以让类在编译.类加载.运行时被读取,并执行相应的处理. 在 Java EE应用的时候,总是免不了 ...

  4. 关于XCode更换项目名称

    1.打开项目直接修改项目名称 2.直接修改分组名 3.然后.command+B会报错 4.找到项目源文件 YourProject.xcodeproj  - > 右键显示包内容->找到pro ...

  5. ps 如何制作动态打字图?

      1.情景展示 有几句话,想以打字的形式出现,而不是干巴巴的几个字,如何实现这个有趣的效果呢? 2.解决方案 第一步:录制屏幕:将想展示的文字逐字打出来-->保存: 第二步:将录制的视频使用p ...

  6. 机器人运动规划中的构形空间(Configuration Space)

    A key concept in motion planning is configuration space, or C-space for short. Every point in the C- ...

  7. php Socket模拟表单上传文件函数_学习

    模拟上传文件的php代码 里面访问地址.主机.上传文件名.内容.分隔符可以修改   function postFile($file) {     $clf = "\r\n";   ...

  8. 合并果子(NOIP2004)

    合并果子(NOIP2004)[问题描述]在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆.每一次合并,多多可以把两堆果子合并到一起,消耗的体 ...

  9. Solr删除managedschema

    一.创建solr核心 solr createcore 二.删除managedschema managedschema是solr自动生成的,里面包含大量无用配置. solr是检查用户定义的schema. ...

  10. __cplusplus的用法(转)

    经常在/usr/include目录下看到这种字句: #ifdef __cplusplusextern "C" {#endif...#ifdef __cplusplus}#endif ...