要关闭Android上的VPN连接,可以使用以下代码示例:
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.VpnService;
public class VPNUtils {
// 关闭VPN连接
public static void disconnectVPN(Context context) {
try {
// 获取ConnectivityManager实例
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
// 获取当前活动的VPN连接
VpnService vpnService = (VpnService) connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_VPN).getExtraInfo();
// 断开VPN连接
if (vpnService != null) {
vpnService.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
你可以在需要关闭VPN连接的地方调用disconnectVPN()
方法,传入当前的Context对象。这将获取当前的VPN连接并断开它。
请注意,这个示例假设你的应用具有适当的权限来访问VPN服务。你可能需要在AndroidManifest.xml文件中添加以下权限:
此外,要使用此代码示例,你需要在项目的build.gradle
文件中添加以下依赖项:
dependencies {
implementation 'androidx.appcompat:appcompat:1.3.0'
}
这是一个基本的示例,你可以根据你的需求进行修改和扩展。