允许用户在 Android 上导出数据的建议方法是什么?

What is the suggested approach to allow user to export data on Android?

我正在创建一个应用程序,我需要添加导出应用程序中存储的数据的可能性。
有什么最佳实践可以遵循吗?

目前我在 Context.cacheDir 中创建了一个文件并通知 DownloadManager
文件最终还是打不开,不知道这种操作有没有最佳实践可循。

就我个人而言,我会使用 ACTION_CREATE_DOCUMENT / ActivityResultContracts.CreateDocument 进行 single-file 导出。这将让用户决定您应该将用户数据导出到用户设备上的哪个位置(或用户的云存储中)。

如果您的导出涉及多个文件,请使用 ACTION_OPEN_DOCUMENT_TREE / ActivityResultContracts.OpenDocumentTree 并创建一个 sub-tree 来放置该内容。