android - 检查 VPN 状态已连接或未连接

标签 android vpn

我正在制作一个想要检测 VPN 连接的应用程序。我的问题是我想检测 VPN 连接,如果连接了 VPN,我不想让用户使用我的应用程序,如果 VPN 关闭,我想允许用户使用我的应用程序。

在问这个问题之前,我阅读了这个文档 VPNService VPNStatus

但我找不到解决方案。如果有人知道解决方案,请与我分享。

提前致谢

最佳答案

这对我有用:从 API 16 到 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");

关于android - 检查 VPN 状态已连接或未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54490857/

相关文章:

java - 使用 AsyncTaskLoader 更新位置数据 UI?

android - ActionBar 中的全角微调器

android - android 上的谷歌地图不显示当前位置

android - 将文件上传到android market时出错

ios - 如何在 iOS 中检测我的应用程序的 VPN 是否已连接?

ios - 将所有 DNS 请求重定向到 iOS 应用程序中的自定义解析器

Azure VPN 客户端 (MacOS) 由于错误 : getKeyChainSecret 而无法连接

android - AspectJ 为 onCreate() 方法添加切入点执行

android - OrbotVPN 中的 PortUnreachableException 和 SocketException

ios - 在 NEPacketTunnelProvider 中获取 UDP 数据包详细信息