0

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();
4

2 回答 2

1

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

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

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

于 2014-03-29T09:00:28.733 回答
0

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

于 2014-09-09T16:04:41.227 回答