2012-02-17 2 views
4

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

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

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

ответ

0

Поскольку API 9 у вас есть для этого

File.setWritable(boolean, boolean)

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

+0

Спасибо, но я должен поддерживать API 7 и далее. –

+0

У меня есть одно решение здесь - если мы можем создать папку во внешней памяти с именем, начинающимся с "." то эта папка не может быть видимой пользователю (например: .myAppPrivateFolder), то это удовлетворяет моему требованию. что сказать!!! –

+0

пользователи не могут видеть папку, но папка все еще существует ... imho это не решение .. но кажется, что нет решения устанавливать разрешения для папки с api 9 ..поэтому постарайтесь скрыть папку и надейтесь на лучшее :) – Blackbelt

0

цитата из андроида документы:

public abstract File getExternalFilesDir (String type)

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

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

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

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

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

+0

Вы пропустили важный факт из документов: _ В этих файлах нет безопасности. Например, любое приложение, содержащее WRITE_EXTERNAL_STORAGE, может записывать эти файлы. – OneWorld

1

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

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

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

1

вы cannot.You можете застегнуть папку и сохранить в виде почтового ZIP-файла.

+0

wowa! Super kool, Sunil, как мы можем это сделать? можете ли вы поделиться некоторой информацией об этом –

Смежные вопросы