为什么FileObserver不能用于/data/anr/traces.txt?

时间:2014-03-29 08:49:46

标签: android fileobserver

Android应用程序具有/data/anr/traces.txt的读/写权限。但仍然FileObserver似乎不适合它。

FileObserver还需要什么工作?它适用于sdcard文件。

代码:

mFileObserver = new FileObserver("/data/anr/traces.txt") { // set up a file observer to
                @Override
                public void onEvent(int event, String file) {
                    if(event == FileObserver.CLOSE_WRITE)
                    {
                        Log.e("TestApp", "ANR has occured");
                    }
                }
            };
            mFileObserver.startWatching();

2 个答案:

答案 0 :(得分:1)

找到解决方案,因此回答我自己的问题,因为它可以帮助其他人。

看起来使用完整文件路径"/data/anr/traces.txt"无效。但使用"/data/anr"的路径工作正常。

仍然不确定为什么完整路径不起作用。

答案 1 :(得分:0)

在调用mFileObserver.startWatching()之前,应确保该文件存在。或者不会通知任何事件。