Partager via


Navigateur

Browse sample. Parcourir l’exemple

Cet article explique comment utiliser l’interface utilisateur de l’application multiplateforme .NET (.NET MAUI). IBrowser Cette interface permet à une application d’ouvrir un lien web dans le navigateur par défaut ou dans le navigateur externe.

L’implémentation par défaut de l’interface IBrowser est disponible via la Browser.Default propriété. L’interface et Browser la IBrowser classe sont contenues dans l’espace Microsoft.Maui.ApplicationModel de noms.

Démarrage

Pour accéder à la fonctionnalité de navigateur, la configuration spécifique à la plateforme suivante est requise.

Si la version Android cible de votre projet est définie sur Android 11 (API R 30) ou une version ultérieure, vous devez mettre à jour votre manifeste Android avec des requêtes qui utilisent les exigences de visibilité du package Android.

Dans le fichier Platforms/Android/AndroidManifest.xml , ajoutez les nœuds suivants queries/intent dans le manifest nœud :

<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>

Ouvrir le navigateur

Le navigateur est ouvert en appelant la IBrowser.OpenAsync méthode avec le type et le Uri type de BrowserLaunchMode. L’exemple de code suivant illustre l’ouverture du navigateur :

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.
    }
}

Cette méthode retourne une fois le navigateur lancé, et non après sa fermeture par l’utilisateur. Browser.OpenAsync retourne une bool valeur pour indiquer si le navigateur a été lancé avec succès.

Personnalisation

Si vous utilisez le navigateur par défaut du système, il existe plusieurs options de personnalisation disponibles pour iOS et Android. Ces options incluent une TitleMode couleur (Android uniquement) et une couleur préférée pour le Toolbar (iOS et Android) et Controls (iOS uniquement) qui s’affichent.

Spécifiez ces options à l’aide BrowserLaunchOptions de l’appel 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.
    }
}

Différences de plateforme

Cette section décrit les différences spécifiques à la plateforme avec l’API de navigateur.

Détermine BrowserLaunchOptions.LaunchMode la façon dont le navigateur est lancé :

  • SystemPreferred

    Les onglets personnalisés sont utilisés pour charger l’URI et garder la connaissance de la navigation.

  • External

    Il Intent est utilisé pour demander l’ouverture de l’URI via le navigateur normal du système.