Przeglądarka
W tym artykule opisano sposób używania interfejsu użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI). IBrowser Ten interfejs umożliwia aplikacji otwieranie linku internetowego w preferowanej przez system przeglądarce lub w przeglądarce zewnętrznej.
Domyślna implementacja interfejsu IBrowser
jest dostępna za pośrednictwem Browser.Default właściwości . Zarówno interfejs, jak IBrowser
i Browser
klasa są zawarte w Microsoft.Maui.ApplicationModel
przestrzeni nazw.
Rozpocznij
Aby uzyskać dostęp do funkcji przeglądarki, wymagana jest następująca konfiguracja specyficzna dla platformy.
Jeśli docelowa wersja systemu Android projektu jest ustawiona na Android 11 (R API 30) lub nowszą, musisz zaktualizować manifest systemu Android za pomocą zapytań, które korzystają z wymagań dotyczących widoczności pakietów systemu Android.
W pliku Platforms/Android/AndroidManifest.xml dodaj następujące queries/intent
węzły w węźlemanifest
:
<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>
Otwórz przeglądarkę
Przeglądarka jest otwierana przez wywołanie IBrowser.OpenAsync metody i Uri typu BrowserLaunchMode. W poniższym przykładzie kodu pokazano otwarcie przeglądarki:
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.
}
}
Ta metoda zwraca informacje po uruchomieniu przeglądarki, a nie po zamknięciu jej przez użytkownika. Browser.OpenAsync
Zwraca wartość wskazującą bool
, czy przeglądarka została pomyślnie uruchomiona.
Dostosowanie
Jeśli używasz przeglądarki preferowanej przez system, dostępnych jest kilka opcji dostosowywania dla systemów iOS i Android. Te opcje obejmują TitleMode
(tylko system Android) i preferowany kolor dla Toolbar
(tylko systemy iOS i Android) i Controls
(tylko system iOS), które są wyświetlane.
Określ te opcje przy użyciu BrowserLaunchOptions wywołania metody 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.
}
}
Różnice między platformami
W tej sekcji opisano różnice specyficzne dla platformy dotyczące interfejsu API przeglądarki.
Określa BrowserLaunchOptions.LaunchMode sposób uruchamiania przeglądarki:
-
Karty niestandardowe są używane do ładowania identyfikatora URI i utrzymania świadomości nawigacji.
-
Element
Intent
służy do żądania otwarcia identyfikatora URI za pośrednictwem normalnej przeglądarki systemu.