Как мы копируем файлы и сохраняем их атрибут только для чтения в Android? - PullRequest
3 голосов
/ 25 февраля 2012

В моем приложении для Android я хотел бы иметь возможность копировать файл только для чтения, а новая версия также доступна только для чтения.

Использование метода setReadOnly () в целевом файле возвращает только ложь, показывая, что это не удалось, и, конечно, проверка самого файла показывает, что для него не установлен атрибут только для чтения.

- edit-- Как предлагает Дэвид Дани ниже, это относится только к файлам на SD-карте. Внутренние файлы будут вести себя соответствующим образом с помощью setReadOnly ().

В моем файле манифеста есть строка <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />, и я могу успешно выполнять все виды других файловых операций в моем приложении.

В поисках решения я видел пару людей, использующих команды linux, и они сказали, что это «грязный» способ сделать это, так есть ли альтернативный «чистый» способ для нас?

Приложение, которое я пишу, использует Android 2.1, если это актуально.

1 Ответ

1 голос
/ 02 марта 2012

Я не верю, что SD-карта поддерживает такие атрибуты файлов, как этот.Я думаю, что вы можете сделать файлы только для чтения во внутренней памяти.(Поскольку на SD-карте используется файловая система FAT, а во внутреннем хранилище используется надлежащая файловая система Linux.)

Проверьте результат setReadOnly() и посмотрите, возвращает ли он true или false.

...