Udostępnij za pośrednictwem


Przeglądarka

Browse sample. Przeglądanie przykładu

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:

  • SystemPreferred

    Karty niestandardowe są używane do ładowania identyfikatora URI i utrzymania świadomości nawigacji.

  • External

    Element Intent służy do żądania otwarcia identyfikatora URI za pośrednictwem normalnej przeglądarki systemu.