在VpnService.Builder中传递用户名和密码的方法

Jun*_*ned 20 vpn android

我正在开发我想要使用VPN网络的应用程序.要在设备中创建VPN网络,我们需要从设备的(设置 - 无线和网络 - VPN设置)菜单进行配置.

我想通过带有硬编码信息的代码进行这么多设置.

从API级别4.0开始,android提供API来处理VPN服务.

要知道这个方法的实现,我使用了Android ToyVPN的Sample项目.但在这许多方法中,我没有找到任何方法来传递用户名和密码.我必须连接VPN网络的信息是.

  1. VPN服务器名称
  2. 用户名
  3. 密码

使用这三个信息,如果我从设备手动配置,我就成功连接到VPN网络.但我想以编程方式执行此操作.这是用于连接VPN网络的类文件. ToyVpnClient.javaToyVpnService.java.除此示例应用程序外,还会在设备中崩溃.

任何帮助将不胜感激.

cer*_*.cz 3

你所说的VpnService并不是你想象的那样它只是一个框架,供您创建自己的 VPN 解决方案。一旦建立,您将获得网络(IP)层上的所有通信,并且您可以用它做任何您想做的事情,例如,加密并将其发送到您的服务器 - 示例是 /samples/ 中的 ToyVpn 项目android-14/ 目录。您还需要自己的服务器端代码来进行解密和必要的流量路由。

遗憾的是,您无法以编程方式设置内置 Android VPN。您能做的最好的事情就是向用户显示一个对话框,解释如何设置它,然后弹出系统设置并显示正确的屏幕。