原文: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. Java多线程之创建线程的三种方式比较

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6560057.html  一:继承Thread类创建线程 1:继承Thread类定义线程子类: 2:重写run( ...

  2. Can't connect to MySQL server on 'ip' (13)

    解决方法1.:setsebool -P httpd_can_network_connect_db=1 解决方法2.:修改/etc/selinux/config SELINUX=enforcing 为 ...

  3. Excel之定位和查找

    在数据量比较少的情况下,我们要到达Excel中某一位置时,通常会用鼠标拖动滚动条到达需要的位置,查找某已知固定的值,用Ctr+F,在查找内容中输入对应的值即可一个个的查找到其对应的位置.但当数据量较多 ...

  4. Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  5. Qt5中表格处理大数据量

    在Qt中如果是普通项目,GUI处理展现的数据量不大,一般用QTableWidget,QTreeWidget这样的控件就满足了,但是如果数据量行数达到了几万行,那么Widget的展示性能就偏差了. Qt ...

  6. 利用LD_PRELOAD hook代码

    loader在进行动态链接的时候,会将有相同符号名的符号覆盖成LD_PRELOAD指定的so文件中的符号.换句话说,可以用我们自己的so库中的函数替换原来库里有的函数,从而达到hook的目的.这和Wi ...

  7. java 获取计算机名称, ip, mac地址

    写在前面 通常所说查询本机mac地址是以以太网为准的, 也就是网线那个口..这种描述略捞. 但是通过java的getHostAddress获取ip以及getHardwareAddress()方法获取m ...

  8. Fedora下安装deb包方法

    Linux系统提供一个软件alien, 使用它能够把deb包转换成各种格式. 1. 使用yum install alien 2. 安装完成后,执行 alien -r XXXXX.deb, 即可转换成对 ...

  9. opencv 摄像头 线程

    #include <stdio.h>#include <stdlib.h>#include <string.h>#include <pthread.h> ...

  10. dubbo 学习(5) dubbo多协议和多注册中心

    转载 http://blog.csdn.net/songjinbin/article/details/49498431 一.配置dubbo多协议模式 1.默认协议 Dubbo缺省协议采用单一长连接和N ...