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

标签 java android file locking

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

最佳答案

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

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

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

看看 Context.openFileInput() , Content.openFileOutput()Context.getFilesDir()方法,详细了解如何将文件存储在手机的内部存储器中。

关于java - 如何使用 java 代码在 android 中锁定文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743741/

相关文章:

java - 使用 StAX 写入现有 xml 文件

java - 如何对读取给定文件的方法进行单元测试

java - 为什么我在 Eclipse 中出现警告以及如何在最后导入时删除它 : The import java. sql.SQLException 从未使用过

android - SoundPool 不播放声音

用C检查文件是否是纯文本

android - 如何在 Android 中合并两个或多个适配器并显示在一个 ListView 中

android - 如何调试通过Google Drive安装的apk?

java - 如何在android中缩放矩形?

java - Netty:使用 `IdleStateHandler`检测断线

java - LibGDX RTL 字体渲染?