Как Expo (React Native) может получить доступ к галерее и внешнему хранилищу без разрешения CAMERA_ROLL? - PullRequest
1 голос
/ 06 октября 2019

У меня ужасный вопрос. Надеюсь, кто-нибудь знает эту проблему.

В приложении EXPO, которое представляет собой API-оболочку для React Native, как пример приложения Expo Image picker может получить доступ к Галерее (внешнее хранилище) без запроса какого-либо разрешения доступа к внешнему хранилищу для пользователя ???

оригинальный исходный код находится здесь .. https://docs.expo.io/versions/latest/sdk/imagepicker/

Я пытался удалить любые AskAsync (CAMERA_ROLL.permission) или getAsync(CAMERA_ROLL.permission). Таким образом, у примера приложения нет разрешения на доступ к внешнему хранилищу ... НО !! Я нажимаю кнопку, это доступ к галерее .... Как это может быть ?? Я дважды проверяю разрешение на приложение, но не предоставлено разрешение на внешнее хранилище ...

Пожалуйста, дайте мне знать ... Я думаю, что это уместно, сначала спросить разрешение, а затем получить доступ к внешнему хранилищу..

PS Я тестировал его только на телефоне Android.

no permission on this app

gui on app

after pushing the button, it access the external storage!

я никогда не проверял разрешения ..

1 Ответ

0 голосов
/ 07 октября 2019

Чтобы приложение expo не получило это разрешение, выполните следующие действия:

  1. Удалите все ссылки на запросы разрешений (которые вы уже сделали)
  2. Удалите средство запуска Image (нокажется, вы не хотите этого делать)
  3. Очистить разрешение доступа к приложению для доступа к мультимедиа

Шаг 3 - это то, что вы ищете, чтобы очистить настройки приложения, перейдите кнастройки телефонов -> управление приложениями -> выбрать приложение expo -> разрешения и очистить разрешение галереи / мультимедиа.

Теперь, когда вы снова запустите приложение, вы не сможете получить доступ к галерее, даже если вы нажмете кнопкукак вы упомянули, и если вы включите getAsync для запроса разрешения, вам будет предложено запросить разрешение.


РЕДАКТИРОВАТЬ:

Чтобы явно установить разрешения дляавтономные приложения модифицируют ваш файл app.json и добавляют туда параметр «permissions» в конфигурации Android, по умолчанию expo использует все разрешенияsings вашего устройства. укажите там разрешения, которые вы хотите, чтобы ваше приложение имело.

Пожалуйста, обратитесь к этой ссылке для получения дополнительной информации о том, как настроить файл app.json.

Надеюсь, это поможет!

...