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

我正在开发我想要使用VPNnetworking的应用程序。 要在设备上创buildVPNnetworking,我们需要从设备的(settings-wireless和network-VPN settings)菜单进行configuration。

我想通过硬编码信息的代码来做很多设置。

从API级别4.0 android提供API来处理VPN服务 。

要知道这个方法的实现,我使用Android的ToyVPN的示例项目。 但在这许多方法中,我没有find任何方法来传递用户名和密码。 我必须连接VPNnetworking的信息是。

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

使用这三个信息,我成功地连接到VPNnetworking,如果我从设备手动configuration。 但我想以编程方式做到这一点。 这里是用来连接到VPNnetworking的类文件。 ToyVpnClient.java和ToyVpnService.java 。 除了这个示例应用程序崩溃的设备。

任何帮助将不胜感激。

Solutions Collecting From Web of "在VpnService.Builder中传递用户名和密码的方法"

你所说的VpnService不是你的想法。 这只是您创build自己的VPN解决scheme的框架。 一旦build立起来,你就可以在networking(IP)层获得所有的通信,你可以用它做任何你想做的事情,比如encryption它并把它发送到你的服务器上 – 这个例子是/ samples /中的ToyVpn项目, android-14 /目录。 您还需要一个自己的服务器端代码来进行解密和stream量的必要路由。

不幸的是,你不能以编程方式设置内置的Android VPN。 您可以做的最好的方法是向用户显示一个对话框,说明如何设置,然后popup显示正确屏幕的系统设置。

可以使用内部的android.jar(com.android.internal)和隐藏的(@hide)API。 请参阅下面的链接:

如何以编程方式创build一个新的Android 4.0接口?