我想锁定android的sdcard上的文件。 我需要锁定它们,所以除了我的软件之外没有人可以删除复制移动或通过蓝牙或任何其他方式发送它们。 我该怎么做?
答案 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)
我认为您要加密文件。虽然文件仍然可以移动,但对于除应用程序之外的任何内容都没用。人们将能够复制,移动,删除但内容不会受到损害。