【发布时间】:2021-03-30 18:45:59
【问题描述】:
我有两个应用程序。一个应用程序 (P) 使用一个具有专有扩展名的文件(例如 .XXX)和一个 .json 文件,其中包含 P 将如何处理该其他文件的说明。另一个应用程序 (Q) 向 P 创建这些文件和意图,告诉 P .json 文件的路径,其中包含 .XXX 文件的路径。然后 P 读取 .json 文件(在 Q 的目录中),然后读取 .XXX 文件(再次在 Q 的目录中)。 P 对 .XXX 文件做了很多事情,但我认为 P 不必写入它。
在 Android 11 之前,所有文件都位于 root/MyAppDirectory_Q 中,并且可以轻松地在应用之间访问/共享文件。随着范围存储越来越流行,我需要将所有文件保存在 Android/data/com.companyName.MyApp_Q 目录中。
我如何从 Q 到 P 并授予 P 访问 Q 的 Android/data 文件夹中两个文件的权限?我在 Xamarin 中执行此操作,但一旦 Q 正常工作,我最终将不得不在纯 Java 中重新创建 Q。
【问题讨论】:
-
您应该使用文件/内容提供商来提供您的文件。
-
您也可以在公共 Documents 目录中创建一个文件,并为其他应用程序使用 SAF 让用户选择要 rad/write 的文件。
标签: c# android xamarin xamarin.android android-11