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();
答案 0 :(得分:1)
找到解决方案,因此回答我自己的问题,因为它可以帮助其他人。
看起来使用完整文件路径"/data/anr/traces.txt"
无效。但使用"/data/anr"
的路径工作正常。
仍然不确定为什么完整路径不起作用。
答案 1 :(得分:0)
在调用mFileObserver.startWatching()之前,应确保该文件存在。或者不会通知任何事件。