在 Android/Unity 上使用 MODE_WORLD_READABLE 共享文件

sharing files using MODE_WORLD_READABLE on Android/Unity

我会开始解释我的问题,然后我做题。

问题

我正在尝试在两个不同的 android 应用程序之间共享一个文件。应用程序 A 和应用程序 B。两者均使用 Unity 制作。

应用程序 A 使用 MODE_WORLD_READABLE 在内部存储器上保存了一个文件 (PUBLIC_FILE)。 后来应用程序 B 尝试访问 PUBLIC_FILE 但访问权限被拒绝。我不明白为什么。

使用的设备:Nexus 7
Android版本:5.1

终端模拟器

使用终端仿真器,我验证了 PUBLIC_FILE 的权限是:-rw-rw-r--。所以所有 users/apps 都应该有读取权限。

我还验证了在终端模拟器上我能够读取 PUBLIC_FILE.

问题

为什么我可以使用终端仿真器阅读 PUBLIC_FILE 但我无法阅读 PUBLIC_FILE 使用应用程序 B?

如果您需要更多 information/explanation 就尽管问。 :)

所以我无法解决这个确切的问题。

但我找到了其他解决方案(在 2 个不同的应用程序之间共享文件)。我使用外部存储而不是内部存储。

  • 我已将权限 WRITE_EXTERNAL_STORAGE 授予应用程序 A​​
  • 我已将权限 READ_EXTERNAL_STORAGE 授予应用程序 B
  • 我将文件(使用应用程序 A​​)保存在 A​​ 的外部文件夹中。
  • 我从 A​​ 的外部文件夹加载了文件(使用应用程序 B)。
    • 要获取外部文件夹,我使用以下方法 [getExternalFilesDir] 然后我使用字符串方法来 将应用程序 B 的包名替换为应用程序 A​​.
    • 的包名