VpnService.Builder.Establish Método

Definición

Cree una interfaz VPN con 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 con 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 tenga acceso a ellos. Cada lectura recupera un paquete saliente que se enruta 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, vea 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 la nueva se cree correctamente. 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 cerrarla 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 Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Se aplica a

Consulte también