Android—多版本主要适配内容

本文详细介绍了Android从6.0到12.0的重要更新特性,包括动态权限申请、FileProvider的使用、通知渠道的引入、后台服务限制、静态广播的变化、文件存储权限调整、刘海屏适配、非SDK接口限制、启动Activity限制、分区存储强制开启等。针对开发者,这些变化对应用开发和权限管理提出了新的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 6.0(M):

动态申请权限。

Android 7.0(N)

1.文件共享不能再使用file://这样的uri去分享访问了,会报FileUriExposedException错误(比如照片剪辑的Intent跳转),用FileProvider替代。

2.Android7.0会在手机屏幕关闭的状态下,限时应用对CPU以及网络的使用。

Android 8.0(O)

1.引入了通知渠道。

2.限制后台服务,需要声明为前台服务,即可在通知栏看到。

3.取消大部分静态注册广播,包括我们自定义的静态广播(静态广播即在清单文件注册的广播)。

Android 9.0(P)

1.刘海屏适配。

 2. SDK 接口限制,非SDK接口分了几类名单,白名单(不受限制),灰名单(暂时不受限),黑名单(受限,使用报错),还有版本过渡才被限制的名单。直接导致插件化框架没落。

Android 10.0(Q)

1.文件存储沙盒,无法访问其他软件的私有文件(Context.getExternalFilesDir()),访问自己的私有文件不需要权限。访问媒体共享文件,比如照片,音乐,视频等,需要申请新的媒体权限:READ_MEDIA_IMAGES,READ_MEDIA_VIDEO,READ_MEDIA_AUDIO,访问文件需要用存储访问框架。

2.后台启动 Activity 的限制,应用处于后台时,无法启动Activity。

Android 11.0(R)

1.强制打开分区存储,同时requestLegacyExternalStorage将会无效

2.获取“所有文件访问权限”(其他应用私有文件除外):

●  声明 MANAGE_EXTERNAL_STORAGE 权限。
●  使用 ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION intent 操作将用户引导至一个系统设置页面,在该页面上,用户可以为您的应用启用以下选项:授予所有文件的管理权限。

Android 12:

1.manifest强制声明android:exported

2.访问第三方应用manifest需要增加requires标签

3.禁止自定义toast

4.应用启动页splash只能使用小图logo


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值