且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

检查VPN连接在Android中是否处于活动状态?

更新时间:2023-11-27 23:38:52

这对我有用: 从API 16到23进行了测试:

This is works for me: Tested from API 16 to 23:

List<String> networkList = new ArrayList<>();
try {
    for (NetworkInterface networkInterface : Collections.list(NetworkInterface.getNetworkInterfaces())) {
        if (networkInterface.isUp())
            networkList.add(networkInterface.getName());
    }
} catch (Exception ex) {
    Timber.d("isVpnUsing Network List didn't received");
}

return networkList.contains("tun0");

P.S.也可以是另一个名为"ppp0"的networkInterface,但是在我对不同VPN应用程序的测试中,它始终是"tun0"

P.S. Also it can be another networkInterface with name "ppp0", but in my tests with different VPN apps it's always was "tun0"