Sdílet prostřednictvím


Prohlížeč

Browse sample. Procházení ukázky

Tento článek popisuje, jak můžete použít rozhraní .NET Multi-Platform App UI (.NET MAUI). IBrowser Toto rozhraní umožňuje aplikaci otevřít webový odkaz v prohlížeči preferovaném systémem nebo externím prohlížeči.

Výchozí implementace IBrowser rozhraní je k dispozici prostřednictvím Browser.Default vlastnosti. Rozhraní IBrowser i Browser třída jsou obsaženy v Microsoft.Maui.ApplicationModel oboru názvů.

Začínáme

Pro přístup k funkcím prohlížeče se vyžaduje následující nastavení specifické pro platformu.

Pokud je cílová verze androidu vašeho projektu nastavená na Android 11 (R API 30) nebo vyšší, musíte aktualizovat manifest Androidu pomocí dotazů, které používají požadavky na viditelnost balíčku Androidu.

V souboru Platforms/Android/AndroidManifest.xml přidejte do uzlu následující queries/intent uzlymanifest:

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

Otevření prohlížeče

Prohlížeč je otevřen voláním IBrowser.OpenAsync metody s Uri a typem BrowserLaunchMode. Následující příklad kódu ukazuje otevření prohlížeče:

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

Tato metoda se vrátí po spuštění prohlížeče, ne po jeho zavření uživatelem. Browser.OpenAsync vrátí hodnotu, bool která označuje, jestli byl prohlížeč úspěšně spuštěn.

Vlastní nastavení

Pokud používáte prohlížeč preferovaný systémem, je pro iOS a Android k dispozici několik možností přizpůsobení. Mezi tyto možnosti patří TitleMode (jenom Android) a upřednostňovaná barva (jenom pro Toolbar iOS a Android) a Controls (jenom iOS).

Tyto možnosti zadejte při BrowserLaunchOptions volání 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.
    }
}

Rozdíly mezi platformami

Tato část popisuje rozdíly specifické pro platformu s rozhraním API prohlížeče.

Určuje BrowserLaunchOptions.LaunchMode způsob spuštění prohlížeče:

  • SystemPreferred

    Vlastní karty se používají k načtení identifikátoru URI a udržení povědomí o navigaci.

  • External

    Používá Intent se k vyžádání, aby se identifikátor URI otevřel v normálním prohlížeči systému.