Xamarin.Essentials:瀏覽器
Browser 類別可讓應用程式在最佳化系統偏好瀏覽器或外部瀏覽器中開啟網頁連結。
開始使用
若要開始使用此 API,請閱讀 入門指南Xamarin.Essentials,以確保連結庫已正確安裝並設定在您的專案中。
若要存取 瀏覽器 功能,需要下列平臺特定設定。
如果您的項目目標 Android 版本設定為 Android 11(R API 30), 您必須使用與新 套件可見度需求搭配使用的查詢來更新 Android 指令清單。
開啟 [Properties] 資料夾下的 AndroidManifest.xml 檔案並在 [manifest] 節點內新增下列內容:
<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>
使用 Browser
在類別中新增 的 Xamarin.Essentials 參考:
using Xamarin.Essentials;
Browser 功能的運作方式是使用 Uri
與 BrowserLaunchMode
呼叫 OpenAsync
方法。
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.
}
}
}
當瀏覽器已由使用者「啟動」但未必由其「關閉」後,會傳回此方法。
自訂
使用系統慣用的瀏覽器時,有數種自訂選項可供 iOS 及 Android 使用。 這包含會顯示的 TitleMode
(僅限 Android),以及 Toolbar
(iOS 及 Android) 和 Controls
(僅限 iOS) 慣用色彩選項。
呼叫 OpenAsync
時,會使用 BrowserLaunchOptions
指定這些選項。
await Browser.OpenAsync(uri, new BrowserLaunchOptions
{
LaunchMode = BrowserLaunchMode.SystemPreferred,
TitleMode = BrowserTitleMode.Show,
PreferredToolbarColor = Color.AliceBlue,
PreferredControlColor = Color.Violet
});
平台實作特性
「啟動模式」決定瀏覽器的啟動方式:
系統偏好
自定義索引標籤 會嘗試用來載入 URI 並保留導覽感知。
外部
將使用 Intent
來要求透過系統一般瀏覽器來開啟 Uri。