是否可以覆盖File.delete()函数?每当我从其他应用程序(未由我的应用程序使用)从SD卡中删除任何文件时,我都需要一个通知,例如此文件将被删除。我尝试的示例代码片段是,
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,但无法阻止删除。