Xamarin.Essentials:Navigateur

La classe Navigateur permet à une application d’ouvrir un lien web dans le navigateur préféré du système optimisé ou le navigateur externe.

Bien démarrer

Pour commencer à utiliser cette API, lisez le guide de prise en main pour Xamarin.Essentials vous assurer que la bibliothèque est correctement installée et configurée dans vos projets.

Pour accéder à la fonctionnalité 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), vous devez mettre à jour votre manifeste Android avec les requêtes utilisées avec les nouvelles exigences de visibilité des packages.

Ouvrez le fichier AndroidManifest.xml sous le dossier Propriétés, puis ajoutez ce qui suit dans le nœud manifeste :

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

Utilisation de Navigateur

Ajoutez une référence à Xamarin.Essentials dans votre classe :

using Xamarin.Essentials;

La fonctionnalité Navigateur fonctionne en appelant la méthode OpenAsync avec Uri et BrowserLaunchMode.


public class BrowserTest
{
    public async Task OpenBrowser(Uri uri)
    {
        try
        {
            await Browser.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
        }
        catch(Exception ex)
        {
            // An unexpected error occured. No browser may be installed on the device.
        }
    }
}

Cette méthode retourne des résultats une fois que le navigateur a été lancé et pas nécessairement quand il est fermé par l’utilisateur.

Personnalisation

Lorsque vous utilisez le navigateur préféré du système, plusieurs options de personnalisation sont disponibles pour iOS et Android. Celles-ci incluent un TitleMode (Android uniquement) et des options de couleur par défaut pour les Toolbar (iOS et Android) et Controls (iOS uniquement) qui s’affichent.

Ces options sont spécifiées à l’aide de BrowserLaunchOptions lors de l’appel à OpenAsync.

await Browser.OpenAsync(uri, new BrowserLaunchOptions
                {
                    LaunchMode = BrowserLaunchMode.SystemPreferred,
                    TitleMode = BrowserTitleMode.Show,
                    PreferredToolbarColor = Color.AliceBlue,
                    PreferredControlColor = Color.Violet
                });

Options du navigateur

Caractéristiques de mise en œuvre de la plateforme

Le Mode de lancement détermine la façon dont le navigateur est lancé :

Système par défaut

Les onglets personnalisés tenteront d’être utilisés pour charger l’URI et maintenir la connaissance de la navigation.

Externe

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

API

Retrouvez d’autres vidéos Xamarin sur Channel 9 et YouTube.