返回
Android (Q) 10 上的外部存储访问:在保护隐私的同时保持应用可行性
Android
2023-09-19 00:00:10
引言
在 Android (Q) 10 中,谷歌引入了一项重大的隐私变更,即分区存储。此举是为了提高用户数据的安全性,但它也对应用程序访问外部存储的方式产生了重大影响。
本文将探讨分区存储对 Android 应用的影响,并提供如何在保护用户隐私的同时保持应用程序可行性的见解。
分区存储概述
分区存储将外部存储(例如 SD 卡)划分为两个分区:
- 应用专用分区: 每个应用程序都有其自己的专用分区,可以访问该分区内的所有文件。
- 共享分区: 这是一个可由所有应用程序访问的公共分区,其中包含共享媒体文件(如音乐、图片和视频)。
这意味着应用程序不再像以前那样可以访问整个外部存储。相反,它们仅限于它们自己的专用分区。
对应用程序的影响
分区存储对 Android 应用程序有以下影响:
- 访问受限: 应用程序只能访问其自己的专用分区中的文件。
- 用户许可要求: 为了访问用户的媒体文件,应用程序需要用户明确授予 READ_EXTERNAL_STORAGE 权限。
- 媒体存储: 应用程序无法直接将文件存储到共享分区。相反,它们必须使用系统提供的媒体存储提供程序。
- legacy 选项: 应用程序可以使用 requestLegacyExternalStorage 选项来暂时绕过分区存储限制,但此选项已不推荐使用。
保持应用程序兼容性的策略
为了在分区存储的环境中保持应用程序的兼容性,开发者可以采用以下策略:
- 目标 SDK 29: 构建面向 targetSDK 29 或更高版本的应用程序将自动符合分区存储要求。
- 请求用户权限: 如果应用程序需要访问用户的媒体文件,则必须在运行时请求 READ_EXTERNAL_STORAGE 权限。
- 使用媒体存储提供程序: 应用程序应使用系统提供的媒体存储提供程序来存储和检索媒体文件。
- 避免使用 requestLegacyExternalStorage: 应避免使用 requestLegacyExternalStorage 选项,因为它是暂时的解决方案,并且可能会在未来的 Android 版本中被移除。
结论
分区存储是 Android (Q) 10 中的一项重大变化,旨在提高用户隐私。然而,它也对应用程序访问外部存储的方式产生了重大影响。通过采用适当的策略,开发者可以确保他们的应用程序在分区存储的环境中仍然兼容和实用。
通过平衡用户隐私和应用程序功能,我们可以在保护用户数据安全的同时,继续开发满足用户需求的应用程序。