如何使用android的“openvpn connect”应用程序结合意图以编程方式连接和断开vpn连接?

我正在开发一个 Android应用程序,应该在需要时自动启动OpenVPN Connect会话.

如何使用android的“openvpn connect”应用程序结合意图以编程方式连接和断开vpn连接?

编辑:
与此同时,我发现了这种方法 – 它对我有用:

private void startVPN() {
    Intent openVPN = new Intent("android.intent.action.VIEW");
    openVPN.setPackage("net.openvpn.openvpn");
    openVPN.setClassName("net.openvpn.openvpn",net.openvpn.openvpn.OpenVPNClient");
    openVPN.putExtra("net.openvpn.openvpn.AUTOSTART_PROFILE_NAME","10.10.10.10 [profilename]");
    startActivityForResult(openVPN,0);
}

这将启动“OpenVPN Connect”应用程序,并使用profilename进行自动连接.

如果成功,应用程序将自动转到后台.

有没有办法在后台完成这个?
停止VPN连接可以在后台完成所有操作.

private void stopVPN() {
    Intent openVPN = new Intent("android.intent.action.VIEW");
    openVPN.setPackage("net.openvpn.openvpn");
    openVPN.setClassName("net.openvpn.openvpn","net.openvpn.openvpn.OpenVPNdisconnect");
    startActivityForResult(openVPN,0);
}

解决方法

OpenVPN的官方Android客户端可以通过AIDL调用.有一个完整的示例应用程序,有 source code.它甚至有一个相对友好的许可证.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...