Freigeben über


Browser

Browse sample. Durchsuchen Sie das Beispiel

In diesem Artikel wird beschrieben, wie Sie die .NET Multi-Platform App UI (.NET MAUI) IBrowser-Schnittstelle verwenden können. Mit dieser Schnittstelle kann eine Anwendung einen Weblink im vom System bevorzugten Browser oder im externen Browser öffnen.

Die Standardimplementierung der IBrowser-Schnittstelle ist über die Browser.Default-Eigenschaft verfügbar. Die IBrowser-Schnittstelle sowie die Browser-Klasse sind im Microsoft.Maui.ApplicationModel-Namespace enthalten.

Erste Schritte

Für den Zugriff auf die Browser-Funktion ist die folgende plattformspezifische Einrichtung erforderlich.

Wenn die Android-Zielversion des Projekts auf Android 11 (R API 30) oder höher festgelegt ist, müssen Sie Ihr Android-Manifest mit Abfragen aktualisieren, die mit den -Paketsichtbarkeitsanforderungen von Android verwendet werden.

Fügen Sie in der Datei Platforms/Android/AndroidManifest.xml die folgenden Knoten queries/intent im Knoten manifest hinzu:

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

Öffnen des Browsers

Der Browser wird geöffnet, indem die Methode IBrowser.OpenAsync mit dem Uri und dem Typ von BrowserLaunchMode aufgerufen wird. Im folgenden Codebeispiel wird das Öffnen des Browsers veranschaulicht.

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

Diese Methode wird zurückgegeben, nachdem der Browser gestartet wurde und nicht notwendigerweise durch den Benutzer geschlossen wurde. Browser.OpenAsync gibt einen bool-Wert zurück, der angibt, ob der Browser erfolgreich gestartet wurde.

Anpassung

Bei der Verwendung des vom System bevorzugten Browsers stehen mehrere Anpassungsoptionen für iOS und Android zur Verfügung. Zu diesen Optionen gehört ein TitleMode (nur Android) und die bevorzugte Farbe für den Toolbar (iOS und Android) und Controls (nur iOS), die angezeigt werden.

Geben Sie diese Optionen mithilfe von BrowserLaunchOptions an, wenn Sie OpenAsync aufrufen.

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

Plattformunterschiede

In diesem Abschnitt werden die plattformspezifischen Unterschiede mit der Browser-API beschrieben.

Der BrowserLaunchOptions.LaunchMode bestimmt, wie der Browser gestartet wird: