VpnService.Builder.Establish Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cree una interfaz VPN mediante los parámetros proporcionados a este generador.
[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
Devoluciones
ParcelFileDescriptor
de la interfaz VPN o null
si la aplicación no está preparada.
- Atributos
Excepciones
si el sistema operativo no acepta un parámetro.
si el sistema operativo no puede aplicar un parámetro.
si el servicio no está declarado correctamente en AndroidManifest.xml
.
Comentarios
Cree una interfaz VPN mediante los parámetros proporcionados a este generador. La interfaz funciona en paquetes IP y se devuelve un descriptor de archivo para que la aplicación acceda a ellos. Cada lectura recupera un paquete saliente que se enrutaba a la interfaz. Cada escritura inserta un paquete entrante igual que se recibió de la interfaz . El descriptor de archivo se coloca en modo de no bloqueo de forma predeterminada para evitar el bloqueo de subprocesos de Java. Para usar el descriptor de archivo completamente en el espacio nativo, consulte ParcelFileDescriptor#detachFd()
. La aplicación DEBE cerrar el descriptor de archivo cuando finaliza la conexión VPN. La interfaz VPN se quitará y el sistema restaurará automáticamente la red.
Para evitar conflictos, solo puede haber una interfaz VPN activa al mismo tiempo. Normalmente, los parámetros de red nunca se cambian durante la vigencia de una conexión VPN. También es habitual que una aplicación cree un nuevo descriptor de archivo después de cerrar el anterior. Sin embargo, es raro pero no imposible tener dos interfaces mientras se realiza una entrega sin problemas. En este caso, la interfaz anterior se desactivará cuando se cree correctamente la nueva. Ambos descriptores de archivo son válidos, pero ahora los paquetes salientes se enrutarán a la nueva interfaz. Por lo tanto, después de purgar el descriptor de archivo antiguo, la aplicación DEBE cerrarlo y empezar a usar el nuevo descriptor de archivo. Si no se puede crear la nueva interfaz, la interfaz existente y su descriptor de archivo permanecen intactos.
Se producirá una excepción si la interfaz no se puede crear por cualquier motivo. Sin embargo, este método devuelve null
si la aplicación no está preparada o se revoca. Esto ayuda a resolver posibles condiciones de carrera entre otras aplicaciones VPN.
Documentación de Java para android.net.VpnService.Builder.establish()
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.