xamarin - Xamarin 中的 WebView 内部的深度链接
问题描述
我正在尝试在我的 Xamarin 应用程序中使用 Amazon Cognito oauth2,但我遇到了问题。
我有这段代码可以在 WebView 中打开我的 URL:
var browser = new WebView
{
Source = "https://[domain].auth.[region].amazoncognito.com/oauth2/authorize?client_id=[client_id]&response_type=code&redirect_uri=myapplication://home&scope=[scope]"
}
Content = browser;
我可以在 WebView 中加载页面,但是,当 WebView 尝试加载 redirect_uri (myapplication://home)时,我得到一个 Android 错误页面“WebPage not available”,错误为:net::ERR_UNKNOWN_URL_SCHEME。
此外,当我使用Device.OpenUri([my_uri])
一切正常时。
我正在使用 Android 8.0 来测试我的应用程序。
解决方案
我通过在之前添加此代码解决了我的问题Content = browser
:
browser.Navigating += async (s, e) =>
{
if (e.Url.StartsWith("myapplication://home"))
{
Uri uri = new Uri(e.Url);
((App)(Application.Current)).NavigateToLoginPage(uri);
}
};
NavigateToLoginPage(Uri uri)
只是更改 MainPage 的基本功能App.xaml.cs
推荐阅读
- python - Apache 梁:WriteToText 或 WriteToFiles
- windows - windows10环境变量中的mingw路径
- javascript - 引导日期选择器库加载顺序问题
- php - 用 PHP 和 MYSQL 计算学生的总余额
- javascript - 为什么我没有得到 scrollTop 值?
- javascript - redux-form 未显示其所有道具值
- java - 服务可能未初始化
- dialog - DLGCreateRealField 中的格式和宽度代表什么
- postman - 为邮递员提供 404 的 jira 创建问题 API
- ios - IOS 备用图标不适用于最近使用的应用程序