Почему разрешение READ_EXTERNAL_STORAGE является опасным разрешением, если его не требуется запрашивать во время выполнения у пользователя?

#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. И далее ОП все еще не сказал, как файл будет выбран и или прочитан.