Je voudrais savoir s'il est possible de créer une interface VPN par programme avec les nouvelles API VPN dans Android 4.0. J'ai parcouru http://developer.Android. com/resources/samples/ToyVpn mais il s'agit de créer un client VPN complet qui gère les connexions, etc. Je veux seulement ajouter une nouvelle configuration VPN et éventuellement supprimer celles existantes.
Il y a beaucoup de questions comme celle-ci, mais elles semblent toutes être antérieures à 4.0. Je comprends qu'avant cela n'était pas possible, mais on pourrait penser que les nouvelles API VPN fournissaient une telle fonctionnalité. Alors, quelqu'un a-t-il trouvé un moyen de le faire, ou n'est-ce toujours pas possible? S'il y a un moyen, veuillez me diriger dans la bonne direction.
Il semble que cela soit géré en interne via les classes com.Android.settings.vpn2.VpnDialog (et connexes), qui font essentiellement KeyStore.getInstance().put("VPN_[VPN ID]", [encoded VpnProfile object]>)
- ce qui provoque ensuite des fichiers avec des noms comme "/ data/misc/vpn/1000_VPN_ [VPN ID] "pour être créé (où 1000 est apparemment l'ID de processus système).
En utilisant la réflexion (ou l'un des hacks pour accéder aux API cachées/internes), vous pouvez le faire vous-même, mais comme votre processus ne s'exécutera pas en tant que processus système, le navigateur VPN du système ne les verra pas.
Cependant, selon cela ( http://code.google.com/p/Android/issues/detail?id=8915 ), il existe au moins une application qui le fait sans téléphone rooté, mais la source ne semble pas être disponible ... alors peut-être qu'il y a un moyen de le faire que je ne peux pas comprendre - je serais certainement intéressé s'il y en a.
P.S. - Voici une autre question similaire (bien qu'il s'agisse spécifiquement de l'utilisation d'un appareil rooté): Créer un profil VPN sur Android