2016-12-03 10 views
0

До появления API 25 не было проблем с сохранением файла в частном хранилище приложений. Однако, если для compileSdkVersion и targetSdkVersion установлено значение 25, это невозможно - всякий раз, когда я пытаюсь читать/записывать файл (находящийся в приватном приложении), я получаю PERMISSION_DENIED и мое приложение выходит из строя.Android API 25: ошибка разрешения при сохранении в PRIVATE-хранилище

Пример 1: Это область исключения броски после вызова Realm.getDefaultInstance():

io.realm.exceptions.RealmFileException: Не удалось открыть область на пути «/ данные/данные/[ PACKAGE_NAME] /files/default.realm.management. Пожалуйста, используйте путь, где ваше приложение имеет права на чтение и запись. в /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp строка 81 Вид: PERMISSION_DENIED.

Пример 2: Это исключение приложение бросает на попытку сохраняться в файл (при открытии FileOutputStream):

java.io.FileNotFoundException:/данные/пользователь/0/[имя_пакет]/files/[FILE_NAME] (разрешение отклонено)

Как уже говорилось, у меня нет ни одной из этих проблем в API 24. Есть ли у кого-нибудь идеи, какова возможная причина этой проблемы?

+0

Это не проблема в целом. Попробуйте полностью удалить приложение (т. Е. Из настроек) и переустановить. – CommonsWare

+0

ну данит, это действительно помогло ...... так почему это так или иначе произошло? – Aenadon

ответ

1

Ваше приложение потеряло способность работать со своими собственными файлами. Возможные причины включают в себя:

  • Поскольку вы изменили значение android:sharedUserId для вашего приложения — если вы когда-нибудь добавить/изменить/удалить этот атрибут в манифесте, вы должны полностью удалить и переустановить приложение

  • что-то делать с несколькими учетными записями пользователей на устройстве, на котором вы проверяете, возможно, привязанное в ...

  • ... Некоторые ошибки в Android, что вы случайно споткнулись

+0

Не уверен, какой из них был, но переустановка определенно помогла, еще раз спасибо! – Aenadon