/ / Démarrer OpenVPN par le biais d’une autre application - Android, Android-intent, OpenVPN

Démarrez OpenVPN via l’intention d’une autre application - Android, Android-intent, OpenVPN

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 № 1

Vous 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);
}