#android
Вопрос:
Я только что объявил ниже разрешения в своем файле манифеста, и я проверил, что, не спрашивая разрешения у пользователя, я все еще могу получить доступ к файлам и носителям из своего хранилища, и разрешение все еще находится в состоянии отказа. Как?
AndroidManifest.xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
ИЗМЕНИТЬ:
Позвольте мне задать вам очень подробный вопрос. На самом деле я работаю над одним большим существующим проектом, и мы используем один SDK. В своем файле AndroidManifest они объявили об этом разрешении, чтобы во время чата пользователь мог загрузить любое вложение, если захочет.
Но у пользователя не запрашивается разрешение. Поэтому я совершенно не уверен, как они получают доступ, не спрашивая разрешения у пользователя.
Версия: с 21 по 30
ПРАВКА 1: Я сделал это
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove"/>
Тем не менее, я могу получить к нему доступ. Как?
Примечание: Пожалуйста, обратите внимание, что мы только что запустили платную стороннюю службу API чат-ботов. Так что мы не знаем, как у них дела. Даже мы используем их пользовательский интерфейс
Комментарии:
1. developer.android.com/reference/android/…
2. Как? Ну а как вы получили к ним доступ? С помощью чего? Пожалуйста, приведите пример полного пути к файлу, к которому вы можете получить доступ. Также сообщите версию Android используемого устройства.
3. @ADM Привет, АДМ, спасибо за ответ. Я уже читал официальные документы Android, но это не проясняет мои сомнения. Также, пожалуйста, проверьте мой отредактированный вопрос.
4. @blackapps Спасибо за помощь. Пожалуйста, проверьте мой отредактированный вопрос.
5. Вы не дали всей информации, которую я просил.
Let me ask you in very detailed manner.
Это было совсем не подробно.
Ответ №1:
Вы можете читать файлы с помощью сторонних фреймворков, таких как SAF, используя ACTION_OPEN_DOCUMENT
. Если вы хотите получить прямой доступ к файлам, вы получите сообщение об ошибке разрешения . Проверьте документацию Google, если вам нужно разрешение на хранение
Комментарии:
1. Фреймворк третьей стороны? SAF-это сторонний фреймворк?
2. Привет, Арвин, Спасибо за ответ: «Пожалуйста, проверьте один раз мой отредактированный вопрос.
3. Арвин, я не спрашиваю, как я могу это прочитать. Я прошу, чтобы я мог прочитать это, не спрашивая разрешения. Как? Является ли это идеальным поведением?
4. Да , на самом деле вы не читаете файл , вы просите Android открыть для вас средство выбора файлов , доступ для чтения отличается, это означает, что вы можете получить подробный список всех файлов с помощью API Android ( например, вы создаете файловый менеджер).
5. Странный ответ. Но важно то, что если вы используете ACTION_OPEN_DOCUMENT, вам не нужно запрашивать какие-либо разрешения в манифесте или во время выполнения или еще одно разрешение. Вы можете просто прочитать файл, используя полученный uri. И далее ОП все еще не сказал, как файл будет выбран и или прочитан.