web-dev-qa-db-ja.com

VpnService.Builderでユーザー名とパスワードを渡す方法

VPNネットワークを利用したいアプリケーションを開発しています。デバイスにVPNネットワークを作成するには、デバイスの(設定-ワイヤレスおよびネットワーク-VPN設定)メニューから構成する必要があります。

ハードコードされた情報を含むコードを介して、これほど多くの設定を行いたいと思います。

APIレベル4.0からAndroidは VPNサービス を処理するためのAPIを提供します。

このメソッドの実装を知るために、Android ToyVPNのサンプルプロジェクトを使用しました。しかし、この多くのメソッドでは、ユーザー名とパスワードを渡すメソッドが見つかりませんでした。VPNに接続する必要がある情報ネットワークはです。

  1. VPNサーバー名
  2. Username
  3. パスワード

この3つの情報を使用して、デバイスから手動で構成している場合、VPNネットワークに正常に接続しています。しかし、私はこれをプログラムで実行したいと思います。これは、VPNネットワークへの接続に使用されるクラスファイルです。 ToyVpnClient.Java および ToyVpnService.Java 。このサンプルアプリケーションに加えて、デバイスのクラッシュがあります。

どんな助けでもありがたいです。

20
Juned

VpnService あなたが話しているのはあなたが考えていることではありません。これは、独自のVPNソリューションを作成するための単なるフレームワークです。確立されると、ネットワーク(IP)レイヤーですべての通信を取得し、暗号化してサーバーに送信するなど、必要なことをすべて実行できます。この例は、/ samples /にあるToyVpnプロジェクトです。 Android-14 /ディレクトリ。また、トラフィックの復号化と必要なルーティングを行うために、独自のサーバー側コードが必要です。

残念ながら、組み込みのAndroid VPNをプログラムで設定することはできません。最善の方法は、設定方法を説明するダイアログをユーザーに表示してから、システム設定をポップアップすることです。正しい画面表示。

3
cermak.cz

内部Android.jar(com.Android.internal)およびhidden(@hide)APIを使用して可能です。以下のリンクを参照してください。

Android 4.0? で新しいVPNインターフェースをプログラムで作成する方法

0
Raghav Sharma