FileObserver不工作android 4.4.3

时间:2014-06-12 12:41:15

标签: android service fileobserver

更新了nexus 5到4.4.3。

Fileobserver不适用于任何目录。我试过了 1./data/data/com/whatsapp, 2.sdcard /电影也 3." /"。 在更新之前,它工作正常。

我在github上看到了RecursiveFileObserver,并将它与我的fileobserver一起使用。当两者一起使用时,我的FileObserver的onEvent被调用,这是非常奇怪的。一段时间后,ANR弹出。

那么,如何在android 4.4.3中使用fileobserver

这是我的代码

FileObserver observer = new FileObserver("/data/data/com.whatsapp/databases") {  
     public void onEvent(int event, String file) {
         Log.i("ASH", "path VSLLED");
       Log.i("ASH", "path AXCCESSED     " + file);
      }
    };
    observer.startWatching();

和RecursiveFileObserver的链接     https://github.com/bartoszprzybylski/owncloud-android/blob/master/src/com/owncloud/android/utils/RecursiveFileObserver.java

顺便说一句,FileObserver正在服务上运行

2 个答案:

答案 0 :(得分:3)

我只能通过向清单添加uses-permission android.permission.WRITE_EXTERNAL_STORAGE来让FileObserver在KitKat上工作。我不知道为什么从4.4版本的Android版本开始需要此权限,并且可能仅在您要监视外部存储时才需要此权限。遗憾的是,我找不到有关此行为更改的任何文档或信息。

答案 1 :(得分:0)

FileObserver的

参数指向Application内部存储。因此,使用context.getDir / getFilesDir给出位置。它可能有所帮助。