Как я могу заблокировать файлы в андроиде с помощью кода Java?

Я хочу заблокировать файлы, который находится на sdcard андроида. Я должен заблокировать их так, никто кроме моего программного обеспечения не может удалить перемещение копии или отправить их по Bluetooth или любому другому пути. Как я могу сделать это?

5
задан Pontus Gagge 30 April 2010 в 10:21
поделиться

3 ответа

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

2
ответ дан 18 December 2019 в 13:12
поделиться

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

SD-карты обычно форматируются с помощью FAT (или FAT32), и это относится к Android. FAT предлагает очень ограниченные разрешения на доступ к файлам, поэтому вы не можете ограничить доступ к файлам таким образом. Опять же, даже если бы вы могли сделать что-то подобное, это не предложило бы никакой защиты, если бы пользователь достал SD-карту из своего телефона и положил ее на свой ПК.

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

Взгляните на методы Context.openFileInput(), Content.openFileOutput() и Context.getFilesDir() , чтобы узнать подробности о том, как хранить файлы во внутренней памяти телефона.

7
ответ дан 18 December 2019 в 13:12
поделиться

Вы не сможете сделать это ни на одной платформе (не говоря уже об Android), используя обычную SD-карту. Извините!

5
ответ дан 18 December 2019 в 13:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: