随着Android 11正式版本的发布,许多Android开发者开始面对解决如何适配新版本的问题。在这篇文章中,我将向大家介绍Android11新特性及开发者如何适配这些新特性。
1.Android 11新特性
1.1 通知区域
Android11针对通知区域功能进行了许多调整,开发者需要修改之前的代码进行适配,具体修改如下:
1.1.1 Shortcuts
在Android11中,开发者需要在AndroidManifest.xml中声明shortcuts,这将确保所有快捷方式在长按应用图标时展现。
1.1.2 通知分组
到了Android11,通知会根据应用程序的类别分组显示。如通知类别是聊天信息,则所有相关聊天信息应显示在一组中。但是注意,在自己的应用程序中为每个通知创建分组是不必要的,Android11会自动分类。
1.2 权限
在Android11中,权限系统变得更加严格,确保用户对敏感信息的保护。开发者需要增加以下代码进行适配:
1.2.1 询问权限
即使您的应用程序已经存在存储权限,Android11会要求您的应用程序再次请求该权限,以确保用户想要保护他们的设备数据。
1.2.2 存储权限
在Android11中,应用程序无法直接意外访问存储设备。开发者需要使用新的存储访问框架来适配这个新的变化。
1.2.3 媒体存储访问权限
在Android11中,开发者需要使用新的访问媒体储存访问框架,用以请求权限,允许用户访问其照片和媒体库中的文件。
1.3 模糊亚像素锁定(SurfaceView/RippleDrawable)
在Android11中,针对SurfaceView和RippleDrawable进行了优化,模糊亚像素现在是可锁定的。
1.4 动态和静态服务
针对Android11中的服务有一点特别的提醒:前台服务现在需要得到许可,才能保持持久化(这不包括所有服务,只包括前台服务)。
2.适配Android11新特性
现在,您完全可以逐步进行Android11的适配,以下是一些适配方案:
2.1 通知区域的适配
首先,对于 Shortcuts,您需要在AndroidManifest.xml中创建快捷方式。对于通知分组,只需将通知以分类方式展现即可。
2.2 权限适配
为了在运行Android11时请求许可,您应该使用以下代码: requestPermissions()方法。对于存储许可,开发者需要适配新的存储访问框架来实现。
2.3 模糊亚像素锁定(SurfaceView/RippleDrawable)适配
若您的应用程序使用SurfaceView或RippleDrawable进行视觉处理,则在Android11上,可以启用模糊亚像素锁定来进行某些视觉优化。
2.4 动态和静态服务适配
如果您的应用程序需要长时间运行一个前台服务,确保您的应用程序已经被许可再后台持久运行。
3.总结
Android11是一个充满变化的版本。适配Android11不仅是一个需要技能的过程,还是一种维持好的用户体验的必要性过程。我希望上述适配方案可以对您有所帮助。