TOP*_*TOP 2 android fileobserver
在我的Android应用程序中,我想检测目录中的事件.这是代码:
String path = Environment.getExternalStorageDirectory()
+ File.separator + "test2";
Log.d("test", "path is " + path);
FileObserver fileObserver = new FileObserver(path, FileObserver.ALL_EVENTS) {
@Override
public void onEvent(int event, String path) {
Log.d("test", "event dectect " + event + " " + path);
}
};
fileObserver.startWatching();
Run Code Online (Sandbox Code Playgroud)
我将新文件复制到该目录.但我没有得到任何事件.请告诉我我犯了什么错误.
Der*_*ung 11
您不能使用本地变量来存储FileObserver,它可以在方法运行后用于垃圾回收.
警告:如果FileObserver被垃圾收集,它将停止发送事件.为确保您继续接收事件,您必须从其他某个活动对象保留对FileObserver实例的引用.
解决方案:将其保存到字段中.
| 归档时间: |
|
| 查看次数: |
4148 次 |
| 最近记录: |