Prohlížeč
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:
-
Vlastní karty se používají k načtení identifikátoru URI a udržení povědomí o navigaci.
-
Používá
Intent
se k vyžádání, aby se identifikátor URI otevřel v normálním prohlížeči systému.