Compartir a través de


Browser

Browse sample.Examinar la muestra.

En este artículo se describe cómo puedes usar la interfaz IBrowser de .NET Multi-platform App UI (.NET MAUI). Esta interfaz permite a una aplicación abrir un vínculo web en el explorador preferido del sistema o en el explorador externo.

La implementación predeterminada de la interfaz IBrowser está disponible a través de la propiedad Browser.Default. La interfaz IBrowser y la clase Browser están contenidas en el espacio de nombres Microsoft.Maui.ApplicationModel.

Introducción

Para acceder a la función de explorador, se requiere la siguiente configuración específica para la plataforma.

Si la versión de Android de destino del proyecto se establece en Android 11 (R API 30) o superior, debes actualizar el manifiesto de Android con las consultas que se usan con los requisitos de visibilidad de los paquetes de Android.

En el archivo Platforms/Android/AndroidManifest.xml, agrega los nodos queries/intent siguientes en el nodo manifest:

<queries>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="http"/>
  </intent>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="https"/>
  </intent>
</queries>

Abre el explorador

El explorador se abre llamando al método IBrowser.OpenAsync con el Uri y el tipo de BrowserLaunchMode. El siguiente ejemplo de código muestra la apertura del explorador:

private async void BrowserOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        await Browser.Default.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

Este método devuelve un valor una vez que se ha iniciado el explorador, no después de que el usuario lo haya cerrado. Browser.OpenAsync devuelve un valor bool para indicar si el explorador se ha iniciado de manera correcta.

Personalización

Si usas el explorador preferido por el sistema, tiene disponibles varias opciones de personalización para iOS y Android, Estas incluyen un TitleMode (solo Android) y el color preferido para los Toolbar (iOS y Android) y Controls (solo iOS) que aparecen.

Especifica estas opciones mediante BrowserLaunchOptions al llamar a OpenAsync.

private async void BrowserCustomOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        BrowserLaunchOptions options = new BrowserLaunchOptions()
        {
            LaunchMode = BrowserLaunchMode.SystemPreferred,
            TitleMode = BrowserTitleMode.Show,
            PreferredToolbarColor = Colors.Violet,
            PreferredControlColor = Colors.SandyBrown
        };

        await Browser.Default.OpenAsync(uri, options);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

Diferencias entre plataformas

En esta sección se describen las diferencias específicas de la plataforma con la API del explorador.

El BrowserLaunchOptions.LaunchMode determina cómo se inicia el explorador: