如何在Android Q中复制外部存储中的文件

问题描述

我制作了一个没有UI的应用程序(称为A),该应用程序使用AIDL向其他客户端应用程序提供了一些信息。

所以我想制作一个用于显示A应用程序状态的UI应用程序(称为B),并将一些文件发送到服务器(日志,数据库等)。

但是,我在Android Q中的范围存储方面遇到了一些问题。

(我了解android:requestLegacyExternalStorage="true",但我不想使用此技巧)

我正在寻找MediaStore和SAF(存储访问框架),但是我不确定哪一个是正确的,还有更多(我没想到的)

我可以使用MediaStore将数据库文件复制到外部存储(其他应用程序的实际公共空间)吗? 我可以使用SAF甚至没有任何UI的App A吗? (以及如何?)

感谢您的帮助。

解决方法

只需请求旧版外部存储即可。

这不是一个把戏。对于Android 10设备来说非常方便。它仅适用于Android 10 / Q设备。

向其他客户端应用提供一些信息

以哪种方式?

您可以为此使用内容提供商。