我有問題,識別文件創建在平板索尼XPERIA Z,使用的是Android 4.4.2我有這樣的代碼:的是Android 4.4.2和文件觀察員 - 創建文件識別
private void observeDirectory(final String path){
observer = new FileObserver(path) { // set up a file observer to watch this directory on sd card
@Override
public void onEvent(int event, String file) {
//Log.v("FILE EVENT", "Event id: " + Integer.toString(event));
switch (event) {
case FileObserver.ACCESS:
//Log.d("FILE OBSERVER", "FILE ACCESS " + file);
break;
case FileObserver.OPEN:
Log.d("FILE OBSERVER", "FILE Open: " + file);
break;
case android.os.FileObserver.MOVED_FROM:
Log.d("FILE OBSERVER", "FILE Moved From: " + file);
break;
case android.os.FileObserver.MOVED_TO:
Log.d("FILE OBSERVER", "FILE Moved to: " + file);
break;
case android.os.FileObserver.MOVE_SELF:
Log.d("FILE OBSERVER", "FILE Moved self: " + file);
break;
case FileObserver.CLOSE_NOWRITE:
Log.d("FILE OBSERVER", "FILE closed & no - write: " + file);
break;
case FileObserver.CLOSE_WRITE:
Log.d("FILE OBSERVER", "FILE closed & write: " + file);
break;
case android.os.FileObserver.MODIFY:
Log.d("FILE OBSERVER", "FILE closed & no - write: " + file);
break;
case android.os.FileObserver.CREATE:
Log.d("FILE OBSERVER", "File created [" + path + "/" + file + "]");
break;
case FileObserver.DELETE:
Log.d("FILE OBSERVER", "FILE DELETED " + file);
break;
}
}
};
observer.startWatching(); //START OBSERVING
}
而且這是工作,但不給我關於所有活動的信息。作爲這個方法的參數,我傳遞文件夾路徑。我有關於訪問該文件的信息,打開並保存關閉。但我也有不同的android應用程序,在這個目錄中創建文件。我必須使用文件觀察器來檢測它何時發生,但我無法使其工作。我不需要重複使用,因爲我只有一個文件夾。我怎樣才能使它工作?
有趣的是,這段代碼在三星設備和Nexus 5(kitkat/Android L)和Nexus7(kitkat)上都很有魅力。但不知何故Xperia Tablet Z有問題,我真的不知道爲什麼它是這樣的。我發現只有在將文件加載到列表視圖時,纔會在applikation開始時訪問文件。但之後完全nothinhg。在Nexus上,我一直在工作,我有關於創建和寫入文件的信息。任何人都可以幫助我?
你救了我的命:D;):v – 2015-07-23 18:32:03