Android FileObserver 是一個用于監控文件系統更改的類。當監控的文件或目錄發生更改時,它會觸發一個回調方法。要處理這些回調,你需要實現 FileObserver.OnFileChangedListener
接口并在創建 FileObserver 實例時將其傳遞。
以下是如何處理回調的步驟:
FileObserver.OnFileChangedListener
接口:import android.os.FileObserver;
import android.util.Log;
public class MyFileObserver implements FileObserver.OnFileChangedListener {
private static final String TAG = "MyFileObserver";
@Override
public void onFileChanged(String path, int mask) {
Log.d(TAG, "File changed: " + path);
// 在這里處理文件更改事件
}
}
import android.os.File;
import android.os.FileObserver;
public class MainActivity extends AppCompatActivity {
private MyFileObserver myFileObserver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 指定要監控的文件或目錄
File pathToObserve = new File(getFilesDir(), "your_directory_name");
// 創建 FileObserver 實例并傳遞回調
myFileObserver = new MyFileObserver(pathToObserve, FileObserver.ALL_EVENTS);
myFileObserver.startWatching();
}
@Override
protected void onDestroy() {
super.onDestroy();
// 停止監控
if (myFileObserver != null) {
myFileObserver.stopWatching();
}
}
}
在這個例子中,我們創建了一個名為 MyFileObserver
的類,它實現了 FileObserver.OnFileChangedListener
接口。我們在 onFileChanged
方法中處理文件更改事件。然后,在 MainActivity
中,我們創建了一個 FileObserver 實例,指定了要監控的文件或目錄,并將 MyFileObserver
作為回調傳遞給 FileObserver。最后,我們啟動了文件監控。
注意:在實際應用中,你可能需要根據實際情況調整文件路徑和監控事件類型。