Xamarin.Essentials:Navigateur
La classe Browser permet à une application d’ouvrir un lien web dans le navigateur préféré du système optimisé ou le navigateur externe.
Démarrage
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 aux fonctionnalités du 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 des requêtes utilisées avec les nouvelles exigences de visibilité du package.
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 Browser
Ajoutez une référence à Xamarin.Essentials 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
});
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 garder la connaissance de la navigation.
Externe
Un Intent
sera utilisé pour demander l’ouverture de l’URI via le navigateur normal du système.