安卓适配动态权限说明

本文介绍了从Android6.0开始的动态权限管理,包括权限的分类、申请权限的流程、判断权限的方法以及适配动态权限的三种方式,并提供了注意事项,如适配小米机型、FileProvider、DownloadManager以及处理用户拒绝权限的情况。

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

一、背景:

      从Android6.0版本开始google将权限分为普通权限和特殊权限,app必须在AndroidManifest.xml添加引用权限的语句。 在安装apk时安卓会将普通权限授予该app,但特殊权限需要运行时申请。

      安卓按照权限类别分为权限组和权限, 每个权限都隶属于一个权限组。 当安卓系统授权一个权限时, 那么该权限所属权限组的权限都会自动被授权。

      目前贝壳找房app的targetSdkVersion等于23,即按照Android5.0版本特性运行。 技术层面与市面上主流app差距较大, 功能层面也有一些功能可能失效(例如在一些机型上无法打电话、读写SD卡)。 根本原因是没适配动态权限。

 

二、如何申请动态权限:

      判断当前手机系统是Android6.0及以上版本, 在Activity/Fragment里申请权限并处理权限结果回调。 这里要说明一下:Fragment是通过Activity申请权限的, 且权限回调onRequestPermissionResult也是Activity调用的Fragment该方法.

                                         

     上图是权限申请流程图, 我们看到的权限弹窗对应/packages/apps/PackageInstaller/src/com/android

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值