Что на самом деле означает разрешение «изменять / удалять содержимое USB-накопителя»?

11

Что на modify/delete USB storage contentsсамом деле означает разрешение? Предоставляет ли приложение доступ для чтения, изменения и записи всех данных на моем USB-накопителе? Может быть, это только ограниченное подмножество этих данных (например, только данные, записанные самим приложением)? Или это совсем другое?

дуб
источник

Ответы:

8

Если вы знакомы с концепциями разрешений на чтение и запись на различных платформах ПК, то это почти то же самое, что и здесь. Вы предоставляете приложению доступ на запись к вашему «внешнему хранилищу», которое может быть SD-картой или некоторым объемом памяти, который поставляется с вашим устройством.

Это разрешение указывает на то, что приложение может создавать, изменять или удалять любые файлы, которые находятся на SD-карте (или несъемный объем памяти, который ОС обрабатывает больше всего как SD-карта).

Таким образом, он может загрузить файл из Интернета и вручную сохранить его на SD-карту.

Он может сгенерировать свое собственное изображение, текст, аудио и т. Д. Файл и сохранить его на SD-карту.

Он может удалить любой файл на вашей SD-карте.

Он может найти файл, который уже существует на вашей SD (даже тот, который не имеет ничего общего с приложением) и внести в него изменения.

FoamyGuy
источник
5

Это означает, что приложение может читать / записывать все содержимое вашей SD-карты. Даже если приложение не имеет этого разрешения, оно все равно сможет читать содержимое SD-карты. Предоставление ему разрешений на изменение / запись позволит приложению создавать, редактировать или удалять файлы.

В 99,9% случаев это позволяет приложению сохранять данные на SD-карте. Например, это могут быть изображения из приложения обоев, или если приложение используется для резервного копирования ваших смс-сообщений, или даже приложение подкаста должно сохранить mp3-файл на SD-карту.

В последнее время была некоторая «суета» из-за того, что у ios есть доступ к вашим фотографиям и другим данным на устройстве. Вы должны помнить, что эти устройства не являются телефонами, это компьютеры, которые делают телефонные звонки. Ничего не отличается, если я установлю приложение в Windows / Linux / OSX, приложение будет иметь доступ ко всем файлам в системе, к которым у меня есть доступ.

Если вы не доверяете приложению для его установки на ПК, вы не установите его. Вы должны использовать те же мысли с вашим телефоном, но имейте в виду, что у вас может быть даже больше личной информации на телефоне, чем на вашем ПК.

Райан Конрад
источник
1
Re проблема с фотографиями iOS: Android тоже это делает
Мартин Тапанков
4
@MartinTapankov Каждый компьютер делает это. Это не бэкдор, это уже в доме. Особенно для SDCard, FAT32 не предлагает никакой защиты, поэтому ОС имеет разрешение на изменение / удаление в Android, чтобы, по крайней мере, требовать от приложений, чтобы они запрашивали это, прежде чем разрешить им модифицировать SDCard. что больше, чем любая другая ОС.
Райан Конрад
1

Каждое приложение имеет определенную папку для хранения. Но некоторые папки являются общедоступными, например папки «Изображения», «Музыка» и «Рингтоны». Таким образом, в основном приложение может записывать / удалять файлы из общей папки и из своей собственной папки.

Посмотрите эту ссылку для получения дополнительной информации: http://developer.android.com/guide/topics/data/data-storage.html#SavingSharedFiles

Mokkun
источник
3
Приложение должно иметь возможность записи / удаления в любом месте на внешнем хранилище. FAT32 не реализует никаких прав доступа к файлам (и это то, что неизменно используют внешние устройства хранения), поэтому нет способа ограничить доступ к определенным папкам / файлам. Хорошо использовать папку хранения вашего приложения, но вам определенно не обязательно.
eldarerathis
Хотя FAT32 не имеет системы разрешений, нет никаких причин, по которым ОС (Android / Linux) не может реализовать оболочку «песочницы» для доступа к файловой системе, чтобы приложения могли обращаться только к авторизованной части файловой системы. Меня поражает, что Google не реализовал нечто подобное, поскольку это действительно довольно просто сделать для разработчиков систем.
Тимоти К. Куинн