第三方应用能否访问Android应用专属外部存储目录?
判断结果
你的判断完全成立,该文档确实存在表述不严谨的问题。
总览文档表格中「其他应用无法访问应用专属文件」的描述,仅适配了Android 10(API 29)及以上版本的系统规则,没有标注低版本的例外情况,因此和细分场景的规则说明、低版本系统的实际表现存在冲突。
不同版本的实际权限规则
- Android 10及更高版本:系统对外部存储的应用专属目录(路径为
Android/data/<应用包名>/)做了强制沙箱隔离,无论其他应用是否申请存储权限,都无法直接访问该路径下的文件,这部分逻辑和总览文档的描述一致。 - Android 9(API 28)及更低版本:外部存储的应用专属目录没有强制沙箱限制,规则明确为:
在运行Android 9(API level 28)及更低版本的设备上,只要应用拥有对应的存储权限,即可访问其他应用的专属文件。
你的实机测试结果完全符合该规则:测试所用的无特殊权限第三方文件管理器,只要持有存储权限,就可以在未Root的Android 9设备上正常访问Android/data/<my app>/files/book.pdf路径下的文件,不存在访问拦截。
补充说明
这类表述偏差是官方文档的常见问题:总览类页面通常以最新正式版系统的规则为基准做概括性表述,经常遗漏旧版本的适配差异说明,参考时需要结合对应API等级的细分规则、实机验证结果做交叉确认。
内容的提问来源于stack exchange,提问作者Farad
相关产品推荐
相关产品推荐

