androidAndroid开发经验谈Android知识

Android中的FileObserver

2016-06-14  本文已影响1923人  跑步与开车

一、概述

android.os包下面的FileObserver是一个用于监听文件访问创建修改删除移动等操作的监听器,基于Linux的INotfy
FileObserver是个抽象类,必须要继承它才能使用,每个FileObserver监听一个单独的文件或者文件夹,如果监听的是一个文件夹,那么文件夹下所有文件或者级联子目录的改变都会触发监听事件。

二、监听的事件类型

上面所有的静态变量都是FileObserver的静态属性

三、例

public class SDCardListener extends FileObserver(){
    public SDCardListener(String path){
        super(path);
    }
    @override
    public onEvent(int event,String path){
        switch(event){
            case FileObserver.ALLEVENTS:
                Log.d("all","path:"+path);
                break;
            case FileObserver.CREATE:
                break;
        }
    }
}
SDCardListener listener = new SDCardListener("目录");

//开始监听
listener.startWatching();
/**
*在这里做一些操作,比如创建目录什么的
**/
//停止监听
listener.stopWatching();

四、注意事项

FileObserver对象必须保持一个引用,确保不被垃圾回收器回收掉,否则就不会触发事件,这里可以考虑使用Service服务。

上一篇 下一篇

猜你喜欢

热点阅读