Создать профиль VPN на Android

Возможно ли программно создать профиль VPN на Android (при условии, что у меня есть внедренное устройство)?

Если возможно, то как?

Благодарю.

Solutions Collecting From Web of "Создать профиль VPN на Android"

Вы должны посмотреть на пакет com.android.settings.vpn2. Там он использует методы @hidden KeyStore для управления VPN:

  • KeyStore.getInstance().saw(Credentials.VPN) возвращает массив идентификаторов строк String

  • VpnProfile.decode(KeyStore.getInstance().get(Credentials.VPN + vpn_id)) получает данные конфигурации VPN для данного идентификатора VPN и декодирует его как объект VpnProfile.

  • VpnProfile.put(Credentials.VPN + vpn_id, someVpnProfileInstance.encode()) создаст / обновит VPN-соединение с данным ID, используя настройки в экземпляре VpnProfile.

Однако вам нужно будет выполнить это как системный процесс – иначе экземпляр KeyStore, который вы получите, не будет подключен к тому, который использует ОС.

Если есть способ сделать это без внедренного устройства, мне было бы интересно узнать, как …

PS – Здесь есть аналогичный вопрос: как программно создать новый VPN-интерфейс с Android 4.0?