我正在尝试将文件锁定在我的设备的“外部”存储(在我的情况下不可移动)中。在我获得锁之后,我可以进入文件浏览器(在另一个应用程序中)并在写入时读取或删除该文件。有没有办法阻止这个?
FileOutputStream fos = new FileOutputStream(fileNameOut);
lock = fos.getChannel().lock();
outputStream = new BufferedOutputStream(fos);
答案 0 :(得分:1)
有没有办法阻止这个?
没有办法阻止这种情况......没有重写其他应用程序。
Android平台有一个基于Linux的内核,在Linux / Unix系统上,文件锁定是自行决定的。应用程序只会注意到文件在尝试获取文件锁定时才会“锁定”。他们通常不这样做,如果他们不这样做,你就无能为力。
Android上的FileLock什么都不做?
不正确。它做了一些事情,但不是你所期望的。
阅读javadoc。
的“平台依赖关系”部分