返回

重构 Android Q 分区储存的应用实践

Android

Android Q 中的分区储存特性旨在增强应用的安全性,更好地保护用户隐私。本文介绍了 Android Q 分区储存的最佳实践,并提供了几项更新以帮助开发者更好地适应这些变更。

1. 充分了解分区储存的益处

在 Android Q 中,分区储存主要有以下几项益处:

  • 提高应用的安全性:分区储存可以将不同应用的数据进行隔离,防止恶意应用访问其他应用的数据。
  • 保护用户隐私:分区储存可以防止应用未经用户许可访问用户的数据,从而更好地保护用户隐私。
  • 增强应用的稳定性:分区储存可以防止应用因访问其他应用的数据而导致崩溃或其他问题,从而增强应用的稳定性。

2. 迁移到分区储存

如果您的应用尚未迁移到分区储存,请尽快完成迁移。您可以使用 Android Studio 中的迁移工具来帮助您完成迁移。

迁移到分区储存后,您的应用将需要使用新的 API 来访问文件。以下是一些常用的 API:

  • MediaStore.Images:用于访问图片。
  • MediaStore.Video:用于访问视频。
  • MediaStore.Audio:用于访问音频。
  • MediaStore.Documents:用于访问文档。
  • Environment.getExternalStorageDirectory():用于获取外部储存的根目录。

3. 使用正确的访问权限

在分区储存中,应用只能访问自己拥有的文件。如果您需要访问其他应用的文件,则需要请求该应用的访问权限。

您可以使用以下 API 来请求访问权限:

  • ActivityCompat.requestPermissions():用于请求单个权限。
  • ActivityCompat.requestPermissions():用于请求多个权限。

4. 注意文件共享的限制

在分区储存中,应用只能与自己拥有的应用共享文件。如果您需要与其他应用共享文件,则需要使用共享存储框架。

共享存储框架允许您将文件共享给其他应用。要使用共享存储框架,您需要先在清单文件中声明您的应用支持共享存储框架。

5. 处理用户拒绝访问权限的情况

如果用户拒绝了您的应用的访问权限请求,则您的应用将无法访问该用户的文件。您应该在您的应用中处理这种情况,并向用户提供适当的提示。

6. 了解分区储存的局限性

分区储存并不是万能的。它有一些局限性,您需要了解这些局限性。

  • 分区储存不能防止应用访问用户的文件,如果应用获得了用户的访问权限,则它就可以访问用户的文件。
  • 分区储存不能防止应用共享用户的文件,如果应用使用共享存储框架,则它可以将用户的文件共享给其他应用。
  • 分区储存不能防止应用收集用户的数据,如果应用通过其他方式收集用户的数据,则它可以将这些数据发送给远程服务器。