Iniciar / iniciar una conexión VPN mediante programación

Estoy desarrollando aplicaciones empresariales que necesitan conectarse a servidores detrás del firewall. ¿Puede mi aplicación iniciar la conexión VPN mediante programación?

En plataformas 2.0+, VPN es compatible con la plataforma. Asumiendo que el usuario ya ha configurado los parámetros VPN, ¿puede mi aplicación iniciar la conexión VPN? Supongamos que el usuario no ha configurado ningún parámetro VPN, ¿puede mi aplicación proporcionar esos parámetros? E iniciar la conexión VPN?

Estamos enfrentando este problema en nuestra tienda. Por ahora, nuestro mejor intento es usar la API interna de Android para conectarse a la VPN de la misma manera que la aplicación de preferencias del sistema.

En primer lugar, debe configurar un entorno que le permita acceder a la API interna: http://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction/

Entonces podemos implementar algo como esto http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.4.4_r1/com/android/settings/vpn2/VpnSettings .java # 258

No sé si tendremos cualquier problema de permiso con esto, pero IMHO esta es la mejor opción que tenemos ahora

EDIT: esto necesita privilegios de root para evitar java.lang.SecurityException: Unauthorized Caller Errores java.lang.SecurityException: Unauthorized Caller .

Supongamos que el usuario no ha configurado ningún parámetro VPN, ¿puede mi aplicación proporcionar esos parámetros? E iniciar la conexión VPN?

Sí, creo que es posible con la clase VpnService como en este ejemplo

Asumiendo que el usuario ya ha configurado los parámetros VPN, ¿puede mi aplicación iniciar la conexión VPN?

Yo también lo estoy buscando. No estoy seguro, pero creo que tal vez se puede hacer con android.net.vpn . Vea esto

Sí, puedes iniciar una conexión VPN. ¿Qué versión de Android usas? Este enlace debe ser útil . Dar detalles para una mejor comprensión.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.