FileObserver 不适用于 /proc/net/tcp6

FileObserver not working for /proc/net/tcp6

我想监视 /proc/net/tcp6 文件并使用 FileObserver 高效地执行此操作,但是由于某些未知原因从未调用 onEvent() 回调。

    observerTcp6 = new FileObserver("/proc/net/tcp6", FileObserver.ALL_EVENTS) {
        @Override
        public void onEvent(int event, String path) {
            Log.i("TAG", "onEvent");
        }
    };
    observerTcp6.startWatching();

使用常规文件 class 解析此文件效果很好。 有人可以帮我吗? :)

你失败的原因是 /proc/net/tcp6 不是真正的文件 ;-)

它只是看起来像一个文件(例如,你可以 "open" 和 "read" 它),但实际上整个 /proc/* 条目是各种内核的接口 statistics\data,表示为 "pseudo-files" 只是为了简化对它们的访问。

因此,除了 "open" 和 "read".

之外,您不能对它们使用任何其他文件方法

P.S。 你的问题是 Linux 相关问题,实际上不是 Android.