Browser
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:
-
Mit den benutzerdefinierten Registerkarten wird der URI geladen und Navigationsinformationen abgerufen.
-
Mit
Intent
wird angefordert, dass der URI über den normalen Systembrowser geöffnet wird.