VpnService.Builder.Establish Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Créez une interface VPN à l’aide des paramètres fournis à ce générateur.
[Android.Runtime.Register("establish", "()Landroid/os/ParcelFileDescriptor;", "GetEstablishHandler")]
public virtual Android.OS.ParcelFileDescriptor? Establish();
[<Android.Runtime.Register("establish", "()Landroid/os/ParcelFileDescriptor;", "GetEstablishHandler")>]
abstract member Establish : unit -> Android.OS.ParcelFileDescriptor
override this.Establish : unit -> Android.OS.ParcelFileDescriptor
Retours
ParcelFileDescriptor
de l’interface VPN ou null
si l’application n’est pas préparée.
- Attributs
Exceptions
si un paramètre n’est pas accepté par le système d’exploitation.
si un paramètre ne peut pas être appliqué par le système d’exploitation.
si le service n’est pas correctement déclaré dans AndroidManifest.xml
.
Remarques
Créez une interface VPN à l’aide des paramètres fournis à ce générateur. L’interface fonctionne sur les paquets IP et un descripteur de fichier est retourné pour que l’application y accède. Chaque lecture récupère un paquet sortant qui a été routé vers l’interface. Chaque écriture injecte un paquet entrant comme il a été reçu de l’interface. Le descripteur de fichier est placé en mode non bloquant par défaut pour éviter de bloquer les threads Java. Pour utiliser complètement le descripteur de fichier dans l’espace natif, consultez ParcelFileDescriptor#detachFd()
. L’application DOIT fermer le descripteur de fichier lorsque la connexion VPN est terminée. L’interface VPN sera supprimée et le réseau sera restauré automatiquement par le système.
Pour éviter les conflits, il ne peut y avoir qu’une seule interface VPN active en même temps. En règle générale, les paramètres réseau ne sont jamais modifiés pendant la durée de vie d’une connexion VPN. Il est également courant pour une application de créer un descripteur de fichier après avoir fermé le précédent. Toutefois, il est rare, mais pas impossible d’avoir deux interfaces tout en effectuant une remise transparente. Dans ce cas, l’ancienne interface est désactivée lorsque la nouvelle est créée avec succès. Les descripteurs de fichiers sont valides, mais les paquets sortants seront routés vers la nouvelle interface. Par conséquent, après avoir vidé l’ancien descripteur de fichier, l’application DOIT la fermer et commencer à utiliser le nouveau descripteur de fichier. Si la nouvelle interface ne peut pas être créée, l’interface existante et son descripteur de fichier restent inchangés.
Une exception est levée si l’interface ne peut pas être créée pour une raison quelconque. Toutefois, cette méthode retourne null
si l’application n’est pas préparée ou est révoquée. Cela permet de résoudre les conditions de concurrence possibles entre d’autres applications VPN.
Documentation Java pour android.net.VpnService.Builder.establish()
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.