返回

Android 11 文件共享:外部 SDK 使用注意事项

Android

Android 一直以来将隐私和安全视为其设计的基石,并在每一个新版本中不断强化这一理念。随着 Android 11 的发布,平台功能得到了进一步增强,为外部存储中的应用和用户数据提供了更周全的保护。

Android 11 的文件共享变化

Android 11 引入了多项重大变化,影响着第三方 SDK 在外部存储中共享文件的行为。这些变化旨在解决以前的安全性和隐私问题,同时为用户提供对文件访问的更大控制权。

受限存储访问范围:
Android 11 限制了应用访问外部存储的能力。应用现在只能访问明确授予其权限的特定目录,而不是整个外部存储空间。

强制使用 SAF:
Android 11 要求第三方 SDK 使用存储访问框架 (SAF) 来访问外部存储中的文件。SAF 提供了一个标准化的界面,让用户可以授予应用对特定文件的访问权限。

取消读写外部存储权限:
Android 11 取消了 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限。应用必须请求特定范围的权限才能访问外部存储,例如 MANAGE_EXTERNAL_STORAGE。

外部 SDK 的注意事项

对于使用第三方 SDK 共享文件的应用,这些变化意味着需要进行一些调整:

集成 SAF:
应用必须集成 SAF,以请求对外部存储中文件的访问权限。这可以通过使用 DocumentFile 类或 SAF 相关的意图来实现。

请求细粒度权限:
应用应请求特定范围的权限,而不是通用的 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 权限。这将限制应用对外部存储的访问,只允许其访问所需的文件。

使用明确 Intent:
应用应使用明确的意图来访问外部存储中的文件。例如,使用 ACTION_OPEN_DOCUMENT 意图打开文件,而不是使用 ACTION_GET_CONTENT 意图,后者会授予更广泛的访问权限。

最佳实践

为了确保在 Android 11 上安全有效地共享文件,请遵循以下最佳实践:

  • 使用 SAF 请求访问权限。
  • 仅请求所需的最小权限范围。
  • 遵循 Android 官方文档中关于文件共享的指南。
  • 告知用户文件访问权限是如何使用的。
  • 谨慎处理用户数据并遵守隐私法规。

结论

Android 11 对文件共享的更改是朝着增强隐私和安全迈出的重要一步。通过了解这些变化并采用正确的做法,开发人员可以确保他们的应用在 Android 11 及以后版本中安全有效地共享文件。