Bonjour chers amis Stackoverflowers,
Il y a quelques jours, j'ai trouvé cette petite fonction intéressante pour démarrer et connecter OpenVPN à partir d'une autre application à l'aide d'intents.
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);
}
Maintenant ma question est:
Dois-je seulement installer OpenVPN (connect ou pour Android) ou dois-je créer quelque chose comme une librairie .jar pour l'utiliser?
Réponses:
0 pour la réponse № 1Vous appelez startActivity
, vous aurez donc besoin de l'application qui inclut cette net.openvpn.openvpn
paquet et Intent
filtre.
setClassName
appelle dans ce paquet pour une classe particulière qui finira par prendre un peu Intent
Suppléments.
Donc, pas de fichier JAR, oui pour avoir besoin de l'application installée. Si vous n'avez pas installé l'application, je pense que le onActivityResult
reviendra avec autre que OK
Code de réponse.
0 pour la réponse № 2
l'intention que vous avez créée n'ouvre que openVpnl’application openVpn doit être installée sur l’appareil, sinon ce code se plantera.vous pouvez vérifier si l’intention sera résolue par ce code
// Verify that the intent will resolve to an activity
if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(sendIntent);
}