1

Я начну объяснять свою проблему, а затем задаю вопрос.обмен файлами с помощью MODE_WORLD_READABLE на Android/Unity

Проблема

Я пытаюсь разделить файл между двумя различными андроид приложений. Приложение A и приложение B. Оба сделаны с использованием Unity.

Применение сохранить во внутренней памяти файл (PUBLIC_FILE) с помощью MODE_WORLD_READABLE. Позже приложение B попытается получить доступ к PUBLIC_FILE, но разрешение на доступ отклонено. Я не могу понять, почему.

Прибор используется: Nexus 7
Android Версия: 5,1

Terminal Emulator

Используя Terminal Emulator, я проверил, что права доступа к PUBLIC_FILE являются: -rw- rw-r--. Таким образом, все пользователи/приложения должны иметь разрешение на чтение.

Я также проверил, что на терминальном эмуляторе я смог прочитать PUBLIC_FILE.

Вопрос

Почему я могу читать PUBLIC_FILE используя эмулятор терминала, но я не могу читать PUBLIC_FILE с помощью приложения B?

Если вам нужна дополнительная информация/объяснение, просто спросите. :)

ответ

1

Так что я не мог решить эту проблему.

Но я нашел другое решение (для совместного использования файла между двумя различными приложениями). Вместо внутреннего хранилища я использовал внешнее хранилище.

  • Я даваемое разрешение WRITE_EXTERNAL_STORAGE к применению .
  • Я передал разрешение READ_EXTERNAL_STORAGE на приложение B.
  • Я сохранил файл (используя приложение A) во внешней папке A.
  • Я загрузил файл (с помощью приложения В) из внешней папки .
    • Чтобы получить внешнюю папку я использовать метод [getExternalFilesDir], а затем я использую метод строкового заменить имя пакета приложения B имя пакета приложения .