3 月 9 日,谷歌正式发布了 Android 5.1 版本,这一版本在稳定性和性能方面有所提升,此外在通知的控制方面也有所增强。在 Android 5.1 发布的第二天,作为这次 Lollipop 版本升级的一部分,谷歌发布了 Android 5.1 SDK(API level 22)。从开发者的角度来说,Android 5.1 SDK 引入了小部分新的 API。其中最关键的新增 API 就是对多 SIM 卡的支持,这对许多采用 Android One 手机的地区来说很有意义。Android One 手机的用户将可以更加灵活的在运营商之间切换,并且可以更加合适的方式管理他们的网络活动。作为开发者来说,则可以利用这一新的特性创造全新的应用体验。Android 5.1 SDK 的更新具体如下:
- 多 SIM 卡支持
Android 5.1 增加了对多个移动运营商 SIM 卡的支持。这一功能让用户可以在有两个以上卡槽的设备上激活并使用多个 SIM 卡。通过 SubscriptionManager 类可以获取当前活动的 SIM 卡的相关信息,包括移动设备在当前网络中是否处于漫游状态。一些用户对于数据访问的费用比较敏感,这一功能对于想要为用户提供减少或关闭访问流量功能的开发者来说非常实用。通过获取 READ_PHONE_STATE 权限,并在 SubscriptionManager 对象上设置 SubscriptionManager.OnSubscriptionsChangedListener 侦听器,当设备的当前网络发生变化时,应用就可以及时得到通知。
2. 运营商服务
Android 5.1 支持电信服务提供商在 Android 设备上创建可以开通运营商服务的应用。这一服务旨在简化运营商通常要在合约机上完成的各种服务开通工作,这些 API 为运营商开发的应用提供了一种灵活并安全的方式来执行这些工作并将应用分发到 Google Play 上。使用这些功能的应用必须要有与匹配设备通用集成电路卡中的证书相匹配的证书签名。
Android 5.1 在 TelephonyManager 类,SmsManager 类和新增的 CarrierMessagingService 类中增加了运营商服务相关的 API。应用可以通过调用 hasCarrierPrivileges() 方法检查是否具有访问这些 API 的权限。没有访问权限的应用如果调用这些 API,会收到 SecurityException 异常。
3. 废弃的 HTTP 类
在 Android 5.1 中,org.apache.http 包中的类和 AndroidHttpClient 类均已被废弃。使用这些类的应用代码应该尽快迁移到 URLConnection 上。
除了面向消费者的新功能之外,Android 5.1 还增强了企业级功能,以更好地支持 Android for Work 的启动。
如果想要在新的平台上进行应用测试,现在就可以用包含在 SDK 中的模拟器尝试新的 Android 5.1 系统,或者下载一个最新的Android 5.1 Nexus 镜像,刷新到你的Nexus 设备上。
在接下来的几周里,谷歌将陆续在如下设备上推出Android 5.1 系统更新:Nexus 4,Nexus 5,Nexus 6,Nexus 7 [2012],Nexus 7 [2012] (3G),Nexus 7 (2013),Nexus 7 [2013] (3G/LTE),Nexus 9,Nexus 9 (LTE),Nexus 10 和Nexus Player。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论