VPN-соединение из эмулятора Android не удается - PullRequest
15 голосов
/ 04 июня 2011

Я новичок в разработке Android.Я пытаюсь присоединиться к существующему VPN из моего приложения для Android.Я хочу интегрировать VPN в мое приложение;тогда мое приложение должно запрашивать удаленную базу данных.

Я получил некоторый код и попытался использовать его для создания VPN.Он эмулирует встроенный менеджер VPN на телефоне Android.Код компилируется, и менеджер запускается, но подключение к VPN не удается, когда я пытаюсь подключиться после всех настроек.Протокол PPTP.VPN существует и была протестирована.

Я попытался подключиться с телефона Android с теми же настройками, и все прошло успешно.

Я подумал, что, возможно, неправильно передаю параметры.Я поместил код для части vpn ниже.URL не фактический, но в том же формате.

Буду признателен за любую помощь, чтобы определить, что я делаю неправильно.Также, если есть способ, я могу напрямую вызвать диспетчер VPN из моего приложения.

Большое спасибо за любую помощь,


final Button button1 = (Button)findViewById(R.id.button1);
final Button button2 = (Button)findViewById(R.id.button2);
final Button button3 = (Button)findViewById(R.id.button3);


    button1.setOnClickListener(new View.OnClickListener() {
                            public void onClick(View v) {
            startActivity(new Intent("android.net.vpn.SETTINGS"));
        }
    });

    button2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            URL url = null;
            try {
                String registrationUrl = String.format("daffy.zune.org");
                url = new URL(registrationUrl);
                URLConnection connection = url.openConnection();
                HttpURLConnection httpConnection = (HttpURLConnection) connection;
                int responseCode = httpConnection.getResponseCode();
                if (responseCode == HttpURLConnection.HTTP_OK) {
                    Log.d("MyApp", "Registration success");
                } else {
                    Log.w("MyApp", "Registration failed for: " + registrationUrl);              
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }

        }
    });
    button3.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            setContentView(R.layout.register);
        }
    });
    }
}

1 Ответ

3 голосов
/ 18 сентября 2011

Я предлагаю вам взглянуть на проект simplevpn и просмотреть источник здесь и просмотреть ShowAllVPNsActivity.java .

Надеюсь, это поможет!Нам нужно больше хороших VPN-приложений на Маркете!

...