如何使用java代码锁定android中的文件?

时间:2010-04-30 10:10:40

标签: java android file locking

我想锁定android的sdcard上的文件。 我需要锁定它们,所以除了我的软件之外没有人可以删除复制移动或​​通过蓝牙或任何其他方式发送它们。 我该怎么做?

3 个答案:

答案 0 :(得分:7)

Android中无法lock a file;即使有,文件只会在您的应用程序运行时被锁定,这不会阻止其他应用程序在用户未启动您的应用程序时访问该文件。

SD卡通常使用FAT(或FAT32)格式化,Android就是这种情况。 FAT提供非常有限的文件权限,因此您无法以这种方式限制对文件的访问。同样,即使您可以做这样的事情,如果用户将SD卡从手机中取出并将其放入PC,这也不会提供任何保护。

如果您想将应用程序的文件保密,您需要将它们放在手机应用程序保留区域的内部存储中。每个应用程序都使用不同的用户ID运行,每个应用程序的数据目录都使用UNIX样式的文件权限进行保护,这会阻止其他应用程序读取它们。因此,虽然这会阻止其他应用程序访问您的文件,但它不会阻止合理确定的用户对其手机进行root权限复制。

有关如何在手机内部存储空间中存储文件的详细信息,请查看Context.openFileInput()Content.openFileOutput()Context.getFilesDir()方法。

答案 1 :(得分:5)

您无法在使用普通SD卡的任何平台(更不用说Android)上执行此操作。遗憾!

答案 2 :(得分:2)

我认为您要加密文件。虽然文件仍然可以移动,但对于除应用程序之外的任何内容都没用。人们将能够复制,移动,删除但内容不会受到损害。