Android 在WebView中隐藏错误\未知\ URL\方案页面

Android 在WebView中隐藏错误\未知\ URL\方案页面,android,xamarin,xamarin.forms,webview,xamarin.android,Android,Xamarin,Xamarin.forms,Webview,Xamarin.android,我使用Xamarin表单,使用WebView显示内容。要将命令从网页发送到应用程序,我使用URL链接,如下所示: myapp://command=123&someparam=456 private async void CustomWebView_Navigating(object sender, WebNavigatingEventArgs e) { if (e.Url.Contains("myapp://")) { e.Cancel =

我使用Xamarin表单,使用WebView显示内容。要将命令从网页发送到应用程序,我使用URL链接,如下所示:

myapp://command=123&someparam=456
private async void CustomWebView_Navigating(object sender, WebNavigatingEventArgs e) {
    if (e.Url.Contains("myapp://")) {
        e.Cancel = true;
        // Some app logic
    }
    ...
然后在PCL项目中进行如下处理:

myapp://command=123&someparam=456
private async void CustomWebView_Navigating(object sender, WebNavigatingEventArgs e) {
    if (e.Url.Contains("myapp://")) {
        e.Cancel = true;
        // Some app logic
    }
    ...
直到最近,Android手机开始显示错误页面,上面写着:

网页不可用

错误\u未知\u URL\u方案

CustomWebView\u导航仍被触发,但如何防止显示错误页面?


注意:我已尝试覆盖ShouldOverrideUrlLoading并返回“true”-但PCL项目中不再触发CustomWebView\u导航。

在html中使用
意图:
方案url,因为
a-custom-scheme:
被视为安全问题(因为你的应用程序可以伪造一个事件来点击它,而不管你是将html用作独立的移动浏览器还是嵌入基于Chromium的网络视图)使用
a-custom-scheme:
启动应用程序响应而不是浏览器更改被Chrome团队视为可用性问题。这确实意味着您必须在Xamarin.Android方面定义意图过滤器,从而在那里捕获这些事件,并将其重新事件/回调回您的NetStd2代码内容:html中的scheme-url改为
a-custom-scheme:
被认为是一个安全问题(因为你的应用程序可以伪造事件来点击它,这与你是将html作为独立的移动浏览器还是嵌入基于Chromium的WebView无关)使用
a-custom-scheme:
启动应用程序响应与浏览器更改被Chrome团队视为可用性问题。这确实意味着您必须在Xamarin.Android方面定义意图过滤器,从而捕获这些事件,并将其重新事件/回调回您的NetStd2代码。