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
});
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
Zugehörige Videos
Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.