返回

Android 11 开发者常见问题:存储 - 分区存储的改进

Android

Android 11 中的存储变革:保障隐私,提升用户体验

随着 Android 11 的推出,谷歌在存储管理方面做出了重大改进。这些变化旨在加强用户数据保护,同时让开发者更轻松地创建应用程序。本文将深入探讨 Android 11 中的存储新功能,包括对外部存储设备的可写访问、存储访问框架(SAF)的使用,以及对媒体存储和文件共享的改进。

请求外部存储访问权限

在 Android 11 及更高版本中,应用程序必须请求 WRITE_EXTERNAL_STORAGE 权限才能访问外部存储设备。这可以防止应用程序未经用户许可访问敏感数据。要请求此权限,请在应用程序清单中添加以下声明:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

访问和管理外部存储文件

Android 11 使用存储访问框架 (SAF) 来访问和管理外部存储文件。SAF 提供了一个标准化的方法,允许应用程序请求访问用户存储在外部存储设备上的文件。使用 SAF,应用程序可以通过以下步骤访问文件:

  1. 创建一个 Intent,指定要访问的文件类型。
  2. 启动 intent,并授予应用程序访问权限。
  3. 使用 ContentResolver 对象检索文件。

存储范围

在 Android 11 中,应用程序的存储范围被限制为应用程序创建的文件以及用户明确授予访问权限的文件。这意味着应用程序不能再访问其他应用程序创建的文件或用户未明确授权的文件。此限制有助于增强隐私并防止恶意软件滥用文件系统。

媒体存储

Android 11 对媒体存储进行了多项改进,包括:

  • 改善了对外部存储设备上媒体文件(如照片和视频)的访问。
  • 改善了对 MediaStore API 的访问,使其更易于使用。
  • 添加了新的 MediaProvider,允许应用程序访问所有类型的媒体文件,包括图像、视频和音频文件。

这些改进使应用程序更容易管理和访问媒体文件,从而改善用户体验。

文件共享

Android 11 也对文件共享进行了改进,包括:

  • 改进了对文件共享的访问,使其更易于使用。
  • 添加了新的 FileProvider,允许应用程序安全地共享文件。
  • 改进了对 Android Beam 的支持,使其更易于使用。

这些改进使文件共享更加便捷和安全,从而增强了用户体验。

下载管理

Android 11 还对下载管理进行了改进,包括:

  • 改进了对下载的访问,使其更易于使用。
  • 添加了新的 DownloadManager,允许应用程序管理下载文件。
  • 改进了对 MediaProvider 的支持,使其更易于使用。

这些改进使得应用程序更容易管理下载文件,从而提升了用户体验。

结论

Android 11 中的存储变化是对用户隐私和数据保护的重大改进。通过限制应用程序的存储范围、改善对外部存储设备的可写访问,以及对媒体存储和文件共享进行改进,谷歌为开发人员创造了一个更安全的应用程序开发环境,同时为用户提供了更好的体验。

常见问题解答

1. 如何在 Android 11 中使用 SAF 访问文件?

通过创建指定文件类型的 Intent,启动 Intent 并授予应用程序访问权限,然后使用 ContentResolver 对象检索文件。

2. 如何请求 WRITE_EXTERNAL_STORAGE 权限?

在应用程序清单中添加以下声明:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3. Android 11 中媒体存储有何变化?

改进了对外部存储设备上媒体文件的访问,改进了对 MediaStore API 的访问,并添加了新的 MediaProvider,允许应用程序访问所有类型的媒体文件。

4. Android 11 中下载管理有何变化?

改进了对下载的访问,添加了新的 DownloadManager,并改进了对 MediaProvider 的支持。

5. Android 11 中文件共享有何变化?

改进了对文件共享的访问,添加了新的 FileProvider,并改进了对 Android Beam 的支持。