Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous découvrirez comment utiliser l'interface .NET Multi-platform App UI (.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 propriété Browser.Default. L'interface IBrowser et la classe Browser sont contenues dans l'espace de noms Microsoft.Maui.ApplicationModel.
Get started
Pour accéder à la fonctionnalité de navigateur, la configuration spécifique à la plateforme suivante est requise.
Si la version cible d'Android de votre projet est définie sur Android 11 (R API 30) ou une version ultérieure, vous devez mettre à jour votre Android Manifest avec les requêtes correspondant aux exigences de visibilité des packages d’Android.
Dans le fichier Platforms/Android/AndroidManifest.xml, ajoutez les nœuds queries/intent dans le nœud 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>
Ouvrir le navigateur
Le navigateur est ouvert en appelant la méthode IBrowser.OpenAsync avec Uri et le 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 un TitleMode (Android uniquement) et une couleur préférée pour le Toolbar (iOS et Android) ainsi que le Controls (iOS uniquement) qui apparaissent.
Spécifiez ces options à l’aide de BrowserLaunchOptions lorsque vous appelez 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.
Le BrowserLaunchOptions.LaunchMode détermine la façon dont le navigateur est lancé :
-
Les onglets personnalisés sont utilisés pour charger l’URI et garder la connaissance de la navigation.
-
Un
Intentest utilisé pour demander l’ouverture de l’URI via le navigateur par défaut du système.
Parcourir l'exemple