Commit 2f326436 authored by wanglei's avatar wanglei

Merge branch 'master' of gitlab.huolea.com:koko/file-recovery-recyclebin

parents a248adb1 1de13add
package com.base.filerecoveryrecyclebin.service; package com.base.filerecoveryrecyclebin.service;
import static android.os.FileObserver.ALL_EVENTS;
import static android.os.FileObserver.MOVED_FROM;
import android.os.Build; import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.os.FileObserver; import android.os.FileObserver;
...@@ -50,7 +53,7 @@ public class FileObserverExample { ...@@ -50,7 +53,7 @@ public class FileObserverExample {
fileHandlerThread = new HandlerThread("FileObserverThread"); fileHandlerThread = new HandlerThread("FileObserverThread");
fileHandlerThread.start(); fileHandlerThread.start();
fileHandler = new Handler(fileHandlerThread.getLooper()); fileHandler = new Handler(fileHandlerThread.getLooper());
fileObserver = new FileObserver(watchList, FileObserver.CREATE | FileObserver.DELETE) { fileObserver = new FileObserver(watchList, FileObserver.CREATE | FileObserver.DELETE | FileObserver.DELETE_SELF | FileObserver.MOVED_FROM) {
@Override @Override
public void onEvent(int event, String path) { public void onEvent(int event, String path) {
Log.d(TAG, "onEvent " + event + " " + path); Log.d(TAG, "onEvent " + event + " " + path);
...@@ -61,7 +64,7 @@ public class FileObserverExample { ...@@ -61,7 +64,7 @@ public class FileObserverExample {
} }
}; };
fileObserver.startWatching(); // 启动观察 fileObserver.startWatching(); // 启动观察
Log.d(TAG,"startObserving"); Log.d(TAG, "startObserving");
} }
public void stopObserving() { public void stopObserving() {
...@@ -73,14 +76,14 @@ public class FileObserverExample { ...@@ -73,14 +76,14 @@ public class FileObserverExample {
// 处理文件事件 // 处理文件事件
private void handleFileEvent(String path, int event) { private void handleFileEvent(String path, int event) {
Log.d(TAG, path); Log.d(TAG, event + " " + FileObserver.DELETE_SELF + " " + path);
// 检查文件扩展名是否在监听范围内 // 检查文件扩展名是否在监听范围内
if (FILE_EXTENSIONS.contains(getFileExtension(path))) { if (FILE_EXTENSIONS.contains(getFileExtension(path))) {
if (event == FileObserver.CREATE) { if (event == FileObserver.CREATE) {
Log.d(TAG, "CREATE"); Log.d(TAG, "CREATE");
fileHandler.post(() -> handleFileCreation(path)); fileHandler.post(() -> handleFileCreation(path));
} else if (event == FileObserver.DELETE) { } else if (event == FileObserver.DELETE || event == FileObserver.DELETE_SELF || event == FileObserver.MOVED_FROM) {
Log.d(TAG, "DELETE:" + path); Log.d(TAG, event + " DELETE:" + path);
BackUpUtils.INSTANCE.deleteFile(path); BackUpUtils.INSTANCE.deleteFile(path);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment