我的非 root Android 4.4 设备上有一个第三方 VPN 应用程序,我想编写一个后台服务来监控 VPN 连接并在 VPN 连接断开时提醒用户。
有没有办法做到这一点?我找不到任何使用 VPNService API 的方法。
谢谢-D
最佳答案
使用 NetworkCapabilities
对我有用。您必须遍历所有现有网络并检查哪个具有 VPN_TRANSPORT
ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
Network[] networks = cm.getAllNetworks();
Log.i(TAG, "Network count: " + networks.length);
for(int i = 0; i < networks.length; i++) {
NetworkCapabilities caps = cm.getNetworkCapabilities(networks[i]);
Log.i(TAG, "Network " + i + ": " + networks[i].toString());
Log.i(TAG, "VPN transport is: " + caps.hasTransport(NetworkCapabilities.TRANSPORT_VPN));
Log.i(TAG, "NOT_VPN capability is: " + caps.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN));
}
关于android - 检查 Android 中的 VPN 连接是否处于 Activity 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28386553/