2015-10-05 95 views
1

有人可以告诉我是否有可能检测到某些东西将被从设备中删除像图片,短信,彩信,音频视频等。就像在Windows中,当有东西是删除它出现在回收站中。我想保存已删除的项目,因为它是项目需求(如果可能的话)如何检测到某些东西将被删除

+0

您是否试图首先搜索?你有尝试过什么吗? –

+1

关于fileobserver的研究 –

+0

@MuhammadBabar我说我不知道​​ –

回答

1

如注释中所述,使用FileObserver删除文件时可能会收到通知。要捕获删除事件,您可以使用:

String path = "/home/tim/files/test.txt"; 
FileObserver obs = new FileObserver(path) { 
    @Override 
    public void onEvent(int event, String file) { 
    if (event == FileObserver.DELETE) { 
     // do your thing. 
    } 
    } 
}; 
obs.startWatching(); 

请注意,这是为了观察特定文件。您还可以通过调整指向目录的路径来查看整个目录,例如:String path = "/home/tim/files";

另请注意,这意味着文件已被删除,并且您为时已晚,无法介入并阻止删除操作。据我所知,这是不可能的。取消删除文件听起来像是一种选择,但也不是简单的。

但是,您可以做的是在删除时重新创建文件。如果有的话,也许可以从服务器上取得它。取决于文件的内容。

+0

这是什么类型的路径? String path =“/home/tim/test.txt”; –

+0

@FarhanAli这是我的Linux PC上的一个路径,我用它为例。您必须将路径放在android设备上。 –

+0

引用[文档](http://developer.android.com/reference/android/os/FileObserver.html#DELETE),'DELETE'事件类型表明“文件已从受监控目录中删除”。过去时表示FileObserver在文件被删除后发现*,这对OP没有帮助。如果您有证据证明文档错误,请告诉我们! – CommonsWare