BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

让你的应用兼容Android for Work

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 梅雪松 关注 0 他的粉丝 发布于 2015年3月2日. 估计阅读时间: 4 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

Google发布了Android for Work,该程序让用户在企业环境中使用自己的Android设备成为可能。

对于Android Lollipop,企业管理员可以创建Managed Profile(又称为Work Profile),然后部署到员工的智能手机上并进行远程管理。Managed Profile可以与用户的个人Profile共存,用户无需在两者之间进行切换。IT部门可以决定哪些应用将被推送到这些受管理的设备、这些设备的相应设置以及可用的功能。例如,Managed Profile可以禁止使用摄像头。此外,IT管理员能够随时删除应用和整个Profile。

Managed Profile只能安装在加密设备上。配置和数据都进行了加密并分开存放。用户对自己的个人数据拥有完全的控制并保证私密性,而管理员则控制着企业数据。工作应用及其通知使用Badge可视化标识。管理员可以从Play Store安装任何应用,但在将它们推送到设备之前,建议先进行测试。

对于运行Android Ice Cream Sandwich、Jelly Bean或KitKat的设备,企业可以使用Android for Work独立应用,经由IT部门批准和管理后,它包含的数个应用可以提供安全的服务:邮件、日历、联系人和浏览器等等。

对于免费应用,企业可以将其部署到Managed Profile中。而付费应用,开发者需要在发布过程中选择是否将应用批量销售给企业。

如果开发者按照最佳实践开发自己的Android应用,那么这些应用将能够与Android for Work一起工作,不会有什么问题。反之,则可能面临一些问题。这些问题与管理员针对Managed Profile的限制和强制执行的设置有关。

开发者应该明白,除非管理员明确允许,Android Intention是无法跨Profile的。而Managed Profile包含的应用数量有限,因此,可能会没有合适的应用来处理Managed Profile中的Intent,这会导致功能缺失,甚至在处理不当时应用闪退。为了避免这种情况,开发者必须调用Intent.resolveActivity()来检查自己的Intent是否有对应的处理对象。如果失败,则尽可能清晰地通知用户。此外,开发者也不要假设所有设备功能都是有效的,因为管理员可以在Managed Profile中禁用某些功能。

另一个问题源于Profile拥有独立的存储区域。这意味着文件URI无法跨Profile传递。如果Managed Profile的应用触发Intent并传递一个文件URI,而这个文件URI是由用户个人Profile中的应用处理时,将会导致失败。文件URI应该使用FileProvider.getUriForFile()包装成Content URI再传递。

为了确保应用能够在Managed Profile中正常工作,建议使用Google提供的BasicManagedProfile(下载ZIP)进行测试。要了解创建企业应用更详细的信息,请访问Building Apps for Work

查看英文原文:How to Make Sure an App Works with Android for Work

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT