Xamarin.Essentials: Browser

Mit der Klasse Browser kann eine Anwendung einen Weblink im optimierten und vom System bevorzugten Browser oder im externen Browser öffnen.

Erste Schritte

Lesen Sie zum Einstieg in die Verwendung dieser API den Leitfaden mit ersten Schritte für Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.

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) festgelegt ist, müssen Sie Ihr Android-Manifest mit Abfragen aktualisieren, die mit den neuen Paketsichtbarkeitsanforderungen verwendet werden.

Öffnen Sie die Datei AndroidManifest.xml im Ordner Eigenschaften, und fügen Sie Folgendes 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>

Verwenden des Browsers

Fügen Sie in Ihrer Klasse einen Verweis auf Xamarin.Essentials hinzu:

using Xamarin.Essentials;

Die Browser-Funktionalität ruft die OpenAsync -Methode mit Uri und BrowserLaunchMode auf.


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

Diese Methode wird zurückgegeben, nachdem der Browser gestartet wurde und nicht notwendigerweise durch den Benutzer geschlossen wurde.

Anpassung

Bei der Verwendung des Standardbrowsers stehen mehrere Anpassungsoptionen für iOS und Android zur Verfügung. Dazu gehört die TitleMode-Eigenschaft (nur Android) und bevorzugte Farboptionen für die angezeigten Toolbar-(iOS und Android) und Controls-Elemente (nur iOS).

Diese Optionen werden beim Aufruf von OpenAsync mithilfe von BrowserLaunchOptions festgelegt.

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

Browser Options

Besonderheiten bei der plattformspezifischen Implementierung

Der Startmodus bestimmt, wie der Browser gestartet wird:

Systempräferenz

Mit den benutzerdefinierten Registerkarten wird versucht, den URI zu laden und Navigationsinformationen abzurufen.

Extern

Mit Intent wird angefordert, dass der URI über den normalen Systembrowser geöffnet wird.

API

Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.