是否可以重写 File.delete() 函数?每当我从其他应用程序(不由我的应用程序使用)删除 SD 卡中的任何文件时,我需要一个通知,例如该文件将被删除。我尝试过的示例代码 fragment 是,
public class ExtendFile extends File
{
public ExtendFile(File dir, String name)
{
super(dir, name);
// TODO Auto-generated constructor stub
}
@Override
public boolean delete()
{
System.out.println("to be deleted");
return super.delete();
}
}
和
File file = new File("/mnt/sdcard/tmp.txt");
ExtendFile f = new ExtendFile(file, tempPath);
我在 FileObsever 的服务类中实现了上述两条语句。 现在我从其他应用程序中删除了 tmp.txt 文件,但我没有收到任何通知。 如何获取其他应用程序的通知?可不可以?
提前致谢
最佳答案
不,这是不可能的。这不仅会导致其他应用程序出现问题,还会导致 Android 操作系统出现问题。
使用 FileObserver,您只能查看文件已发生了什么。你无法影响它。 结论:如果您只想知道“/mnt/sdcard/tmp.txt”发生了什么,那么使用 FileObserver,但您无法阻止删除。
关于android - 覆盖android中的文件删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18888231/