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侦听器,当设备的当前网络发生变化时,应用就可以及时得到通知。
-
运营商服务
Android 5.1支持电信服务提供商在Android设备上创建可以开通运营商服务的应用。这一服务旨在简化运营商通常要在合约机上完成的各种服务开通工作,这些API为运营商开发的应用提供了一种灵活并安全的方式来执行这些工作并将应用分发到Google Play上。使用这些功能的应用必须要有与匹配设备通用集成电路卡中的证书相匹配的证书签名。
Android 5.1在TelephonyManager类,SmsManager类和新增的CarrierMessagingService类中增加了运营商服务相关的API。应用可以通过调用hasCarrierPrivileges()方法检查是否具有访问这些API的权限。没有访问权限的应用如果调用这些API,会收到SecurityException异常。
-
废弃的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。