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 功能通过调用具有 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
});