#android #database #permissions
#Android #База данных #разрешения
Вопрос:
Мне нужно прочитать файл БД из другого приложения. Файл БД создается конкретным приложением поставщика, и мое приложение должно прочитать этот файл БД и создать резервную копию. Не удается получить доступ к файлу: отказано в разрешении.
Возможно ли прочитать файл, созданный другим приложением? Я думаю, что это может быть невозможно в соответствии с дизайном Android, но просто хотел подтвердить, возможно ли это, установив какое-либо разрешение.
Спасибо, Грейс.
Комментарии:
1. Вы говорите об Android? Почему вы не используете правильный тег?
2. Если вы пытаетесь открыть базу данных другого приложения, у вас ничего не получится (и это хорошо, это личные данные приложения). Приложение поставщика базы данных должно каким-то образом сделать базу данных общедоступной, например, записав ее на SD-карту, чтобы ваше приложение могло получить к ней доступ, открыть и прочитать ее.
Ответ №1:
Нет, невозможно прочитать файл db из другого приложения в Android, если оба приложения не принадлежат одному издателю. Частью модели безопасности Android является то, что файлы базы данных приложений устанавливаются как доступные для чтения только соответствующим издателем приложения.
Это делается тем, что каждому издателю присваивается собственный идентификатор пользователя на устройстве.
Единственными рабочими раундами являются
- Рутируйте свое Android-устройство (если вы его сломаете, вы сохраните обе части) и запустите свое приложение с повышенными правами доступа.
- Посмотрите, есть ли у рассматриваемого приложения какой-либо опубликованный API для запроса их данных.
Надеюсь, это поможет
Питер