Xamarin.Essentials:浏览者

Browser 类允许应用程序在优化的系统首选浏览器或外部浏览器中打开 Web 链接。

入门

若要开始使用此 API,请阅读 Xamarin.Essentials 的入门指南,确保在项目中正确安装和设置库。

若要访问 Browser 功能,需要以下特定于平台的设置。

如果项目的目标 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 功能通过调用具有 UriBrowserLaunchModeOpenAsync 方法工作。


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
                });

Browser Options

平台实现细节

启动模式确定浏览器的启动方式:

系统首选

自定义选项卡将尝试用于加载 URI 并保持导航识别。

外部

Intent 将用于请求通过系统常规浏览器打开的 URI。

API

第 9 频道YouTube 上查找更多 Xamarin 视频。