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



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

FileObserver 还需要什么才能工作?它适用于SD卡文件。

法典:

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

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

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

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

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

最新更新