Hola compañeros Stackoverflowers,
Hace unos días encontré esta pequeña y ordenada función para iniciar y conectar OpenVPN desde otra aplicación usando intenciones.
private void startVPN(){
Intent openVPN = new Intent("android.intent.action.VIEW");
openVPN.setPackage("net.openvpn.openvpn");
openVPN.setClassName("net.openvpn.openvpn", "net.openvpn.openvpn.OpenVpnClient");
openVPN.putExtra("net.openvpn.openvpn.AUTOSTART_PROFILE_NAME","10.10.10.10 [10.10.10.10]");
startActivityForResult(openVPN,0);
}
Ahora mi pregunta es:
¿Solo necesito tener OpenVPN (connect o para Android) instalado o necesito crear algo como una biblioteca .jar para usarlo?
Respuestas
0 para la respuesta № 1Estas llamando startActivity
, por lo tanto, necesitará cualquier aplicación que incluya eso net.openvpn.openvpn
paquete y Intent
filtrar.
setClassName
está llamando a ese paquete para una clase particular que finalmente tomará algo de Intent
extras
Entonces, no hay archivo JAR, sí, para necesitar la aplicación instalada. Si no tienes la aplicación instalada, creo que onActivityResult
volverá con otro que OK
código de respuesta.
0 para la respuesta № 2
la intención que creaste solo abre openVpnaplicación y para eso la aplicación openVpn debe instalarse en el dispositivo o este código se bloqueará. Puede verificar si el código resolverá la intención
// Verify that the intent will resolve to an activity
if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(sendIntent);
}