禁止requestLegacyExternalStorage

目前,如果您认为您的应用需要“所有文件”访问权限,建议您此时不要将目标SDK级别更新为Android 11(API级别30)。如果您以Android 10为目标,请考虑使用 requestLegacyExternalStorage标志

Google Play限制使用高风险或敏感权限,包括特殊的应用访问权限,称为“ 所有文件访问”。这仅适用于以Android 11(API级别30)为目标并声明MANAGE_EXTERNAL_STORAGE权限的应用程序,该应用程序已在Android 11中添加。此外,此策略不会影响READ_EXTERNAL_STORAGE权限的使用。

如果您的应用不需要访问MANAGE_EXTERNAL_STORAGE 权限,则必须将其从应用清单中删除才能成功发布应用。以下还详细介绍了符合政策的替代实现。

如果您的应用符合可接受使用的政策要求或有资格获得例外,则将需要您 使用Play控制台中的“声明表”声明此权限以及任何其他高风险权限

不符合政策要求或未提交声明表的应用可能会从Google Play中删除。

您什么时候应该请求“所有文件”访问权限?

仅当您的应用无法有效利用更加隐私友好的最佳做法(例如使用Storage Access FrameworkMedia Store API)时,才应访问所有文件访问权限。

此外,应用程序对权限的使用必须在允许的使用范围内,并且必须直接与应用程序的核心功能联系在一起。核心功能被定义为应用程序的主要目的。没有此核心功能,该应用程序将“损坏”或无法使用。核心功能以及组成该核心功能的任何核心功能都必须在应用程序的描述中突出显示并进行宣传。

所有文件访问权限的允许使用

对于请求访问所有文件访问权限的应用程序,预期用途和允许使用包括;文件管理器,备份和还原应用程序,防病毒应用程序以及文档管理应用程序。

被授予访问权限的应用程序可能无法将其使用扩展到未公开或无效的目的。

合格许可*

文件管理

应用程序的核心用途涉及在其特定于应用程序的存储空间之外的文件和文件夹的访问,编辑和管理(包括维护)

MANAGE_EXTERNAL_STORAGE

 

备份和还原应用

应用程序必须需要自动访问其特定于应用程序的存储空间之外的多个目录,以进行备份和还原

防病毒应用

应用程序的核心目的是扫描设备并向设备用户提供防病毒安全功能

文件管理应用程式

必须在其特定于应用程序或共享存储的外部查找,访问和编辑兼容文件类型的应用程序

App必须在其控制台声明中说明为什么Access应用程序特定文件Storage Access Framework文档中记录的解决方案不足以实现其目的。

搜索(在设备上)

应用程序的核心目的是搜索设备外部存储中的文件和文件夹

磁盘/文件夹加密和锁定

应用程序的核心目的是加密文件和文件夹

设备迁移/电话转移

App的核心目的是帮助用户迁移到新设备

*须经Google Play审核和批准。

例外情况

在以下情况下,Google Play可能会为不符合上述指定允许使用条件的应用提供临时例外:

  1. 使用权限可以启用应用的核心功能;和

  2. 当前没有其他方法可以提供核心功能。或者

使用隐私友好的替代方案(例如MediaStore APIStorage Access Framework)会对与核心功能相关的应用程序关键功能产生重大不利影响。

  1. 安全性和隐私最佳做法可减轻对用户隐私的影响

开发人员必须在控制台声明中说明为什么Storage Access FrameworkMediaStore API不足以满足其应用程序的目的。

**注意:**除了需要访问的关键服务之外,用于运营商和OEM服务的应用以及在托管Google Play分发平台下发布的私人应用可能还会要求上述使用情况的权限访问。

无效的使用

在某些情况下,应用可能希望出于存在更安全,更安全的替代选择或数据暴露的风险不能保证访问的目的访问敏感的用户数据。

下面是不会被允许请求的常见使用情况列表MANAGE_EXTERNAL_STORAGE的权限

  • 媒体文件访问(请参阅下面的替代方法

  • 用户手动选择单个文件的任何文件选择活动(请参见下面的替代方法)

**注意:**此列表并不详尽。有关深入指导,请参阅开发人员的“所有文件访问”文档和“范围存储”最佳实践指南。

通用替代品

备择方案

媒体文件的访问

借助MediaStore API,应用程序可以贡献和访问外部存储卷上可用的媒体,而无需访问所有文件的权限。

用户选择要导入/传输/处理的文件

开发人员应考虑使用Storage Access Framework作为 隐私友好选项, 以访问共享存储中的文件,例如使用Storage Access Framework。

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2020年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

就先写到这,码字不易,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包阅读下载,最后觉得有帮助、有需要的朋友可以点个赞


《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
转存中…(img-OSzgqlux-1715116482154)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 15
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值