Android 监视文件或目录变化
2013-02-16 13:06
435 查看
Android系统API提供了FileObserver抽象类(Linux的INotify机制)来监听系统/sdcard中的文件或文件夹,FileObserver类能对sdcard中的文件及文件夹的打开、创建、移动和删除操作进行监控。下面看看代码实现:
package com.orgcent.filelistener; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.os.FileObserver; public class AndroidFileListenerActivity extends Activity { private FileObserver mFileObserver; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); if(null == mFileObserver) { mFileObserver = new SDCardFileObserver(Environment.getExternalStorageDirectory().getPath()); mFileObserver.startWatching(); //开始监听 } } public void onDestory() { if(null != mFileObserver) mFileObserver.stopWatching(); //停止监听 } static class SDCardFileObserver extends FileObserver { //mask:指定要监听的事件类型,默认为FileObserver.ALL_EVENTS public SDCardFileObserver(String path, int mask) { super(path, mask); } public SDCardFileObserver(String path) { super(path); } @Override public void onEvent(int event, String path) { final int action = event & FileObserver.ALL_EVENTS; switch (action) { case FileObserver.ACCESS: System.out.println("event: 文件或目录被访问, path: " + path); break; case FileObserver.DELETE: System.out.println("event: 文件或目录被删除, path: " + path); break; case FileObserver.OPEN: System.out.println("event: 文件或目录被打开, path: " + path); break; case FileObserver.MODIFY: System.out.println("event: 文件或目录被修改, path: " + path); break; } } } }
相关文章推荐
- Android 监视文件或目录变化
- Android 监视文件或目录变化
- [Java 8] (4) 列举目录下的所有文件和监视文件变化
- 使用控制线程监视目录文件变化
- 使用控制线程监视目录文件变化
- Android Service监听SD卡某目录变化,并获取文件Path
- 用inotify监视文件/目录变化
- .net 监视文件系统中目录和文件的变化
- 用inotify监视文件/目录变化
- Android:安装APK包以后系统文件目录的变化
- Android应用程序私有目录下文件操作总结
- Ubuntu Android/Sdk/build-tools/23.0.3/aapt": error=2, 没有那个文件或目录
- (原创)android 遍历删除目录下所有文件
- 通过Tomcat配置虚拟目录传输文件方便测试Android应用
- Android签名与认证META-INFO目录下文件
- Android--项目文件gen目录下没有R.class文件 解决方法
- [SHELL]监控LINUX目录文件变化
- android 监听SD卡文件变化
- System.IO.FileSystemWatcher 监视目录文件的状态