Я разрабатываю приложение, в котором мне нужно подключиться к удаленному серверу через VPN. В настоящее время я использую встроенный в Android инструмент для настройки и подключения VPN (Настройки>Дополнительно>VPN>...), который мне приходится активировать и деактивировать несколько раз во время использования приложения (сервер блокирует другое подключение к Интернету при подключении, хотя это VPN, поэтому я хочу установить его только время от времени).
Вот конфигурация, необходимая для этого VPN-подключения: Имя: произвольное Тип: IPSec Xauth PSK Адрес сервера: известный Идентификатор IPSec: известный Предварительно общий ключ IPSec: известный Имя пользователя: известный Пароль: известный
Если я правильно понял, я мог бы либо запустить фоновую службу, чтобы установить соединение, а затем активировать/деактивировать из активности переднего плана/интерфейса пользователя, либо, может быть, просто иметь встроенный метод, если эта активность/класс устанавливает VPN-соединение, когда это необходимо.
Я также знаю, что есть класс VpnService, но я думаю, что он намного сложнее, чем то, что мне нужно. Я видел предложения по использованию исходного кода OpenVPN, но не знаю, где его взять. Это в качестве примера: Android: пример кода для подключения к VPN в Android 4.0 с использованием VPNService API
Возможно ли иметь этот встроенный VPN? Может ли кто-нибудь дать мне подсказку о том, как его кодировать? заранее спасибо
РЕДАКТИРОВАТЬ: я также обнаружил здесь, что невозможно настроить L2TP/IPSec, будет ли это также применяться к IPSec Xauth PSK?? Программно создать базу L2TP/IPSec VPN на VpnService в Android< /а>