2

是否可以覆盖 File.delete() 函数?每当我从其他应用程序(不由我的应用程序使用)中删除 sdcard 中的任何文件时,我都需要一个通知,例如该文件将被删除。我尝试的示例代码片段是,

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 文件,但我没有收到任何通知。如何从其他应用程序获取通知?有没有可能?

提前致谢

4

1 回答 1

3

不,这是不可能的。这不仅会导致其他应用程序出现问题,还会导致 Android 操作系统出现问题。

使用 FileObserver,您只能查看文件发生了什么。你不能影响它。总结一下:如果您只想知道“/mnt/sdcard/tmp.txt”发生了什么,请使用 FileObserver,但您无法阻止删除。

于 2013-09-19T07:11:42.380 回答