Android: сделать папку на внешней памяти частной или защищенной - PullRequest
4 голосов
/ 17 февраля 2012

Я хочу сделать папку на внешней памяти (может быть на SD-карте) частной или защищенной, чтобы только мое приложение / процесс могло иметь доступ к этой папке.

Могу ли я сделать это? если да, пожалуйста, дайте мне знать?

мое требование: Я могу использовать внутреннюю память Android для хранения файлов / данных моего приложения, но это может уменьшить внутреннюю память телефона (что может вызвать проблемы, такие как нехватка места для установки других приложений и т. Д.)

Ответы [ 4 ]

1 голос
/ 17 февраля 2012

вы не можете. Вы можете заархивировать папку и сохранить ее в виде пароля.

1 голос
/ 17 февраля 2012

Данные на внешнем хранилище не могут быть частными.Он доступен для чтения всем пользователям и может быть изменен пользователем, если он включает запоминающее устройство USB.

Цитируется с developer.android.com:

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

0 голосов
/ 17 февраля 2012

цитата из документов Android:

public abstract File getExternalFilesDir (String type)

Поскольку: Уровень API 8 Возвращает абсолютный путь к каталогу во внешней файловой системе (который находится где-то в Environment.getExternalStorageDirectory()) где приложение может размещать постоянные файлы, которыми оно владеет.

Эти файлы являются частными для приложений и обычно не видны пользователю как носитель.Это похоже на getFilesDir () в том, что эти файлы будут удалены при удалении приложения [...]

Источник: http://developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

Так что в основном вы получите приватный(sorta) в вашей SD-карте.

Используйте это в сочетании с ответом Blackbelt для улучшения эффектов.

0 голосов
/ 17 февраля 2012

Начиная с API 9, для этого у вас есть

File.setWritable (логическое, логическое)

, а также для операции чтения / исполнения. взгляните на ссылку

...