Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Xamarin for visual studio在C#for Android中完成的webview应用程序无法打开whatsapp:url shows net::ERR#u UNKNOWN#url#u SCHEME错误_C#_Webview_Xamarin.android - Fatal编程技术网

使用Xamarin for visual studio在C#for Android中完成的webview应用程序无法打开whatsapp:url shows net::ERR#u UNKNOWN#url#u SCHEME错误

使用Xamarin for visual studio在C#for Android中完成的webview应用程序无法打开whatsapp:url shows net::ERR#u UNKNOWN#url#u SCHEME错误,c#,webview,xamarin.android,C#,Webview,Xamarin.android,我用C#for Android,用Xamarin for visual studio制作了一个webview应用程序。当用户点击一个按钮但显示错误net::ERR\u UNKNOWN\u URL\u方案时,应该向whatsapp发布一条消息,请帮助。该url以whatsapp:// 我已经检查过了,但是没有一个符合我的代码 这是我的全部代码我对C#for android非常陌生 using System; using Android.App; using Android.Content; usi

我用C#for Android,用Xamarin for visual studio制作了一个webview应用程序。当用户点击一个按钮但显示错误net::ERR\u UNKNOWN\u URL\u方案时,应该向whatsapp发布一条消息,请帮助。该url以whatsapp://

我已经检查过了,但是没有一个符合我的代码

这是我的全部代码我对C#for android非常陌生

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Webkit;
using Android.Widget;
using Android.OS;

namespace IwI
{
    [Activity(Label = "IwI", MainLauncher = true, Theme = "@android:style/Theme.NoTitleBar")]
    public class MainActivity : Activity
    {
        WebView web_view;

        protected override void OnCreate(Bundle bundle)
        {
            RequestWindowFeature(WindowFeatures.NoTitle);
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            web_view = FindViewById<WebView>(Resource.Id.webview);
            web_view.Settings.JavaScriptEnabled = true;
            web_view.SetWebViewClient(new IwIClient());
            web_view.LoadUrl("https://jacidd.com/iwi");

        }
        public class IwIClient : WebViewClient
        {
            public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request)
            {
                view.LoadUrl(request.Url.ToString());
                return false;
            }
        }
        public override bool OnKeyDown(Android.Views.Keycode keyCode, Android.Views.KeyEvent e)
        {
            if (keyCode == Keycode.Back && web_view.CanGoBack())
            {
                web_view.GoBack();
                return true;
            }
            return base.OnKeyDown(keyCode, e);
        }
    }
}
使用系统;
使用Android.App;
使用Android.Content;
使用Android.Runtime;
使用Android.Views;
使用Android.Webkit;
使用Android.Widget;
使用Android.OS;
名称空间IwI
{
[活动(Label=“IwI”,MainLauncher=true,Theme=“@android:style/Theme.NoTitleBar”)]
公共课活动:活动
{
网络视图网络视图;
创建时受保护的覆盖无效(捆绑包)
{
RequestWindowFeature(WindowFeatures.NoTitle);
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
web_view=findviewbyd(Resource.Id.webview);
web_view.Settings.JavaScriptEnabled=true;
SetWebViewClient(新的IwIClient());
web_view.LoadUrl(“https://jacidd.com/iwi");
}
公共类IwIClient:WebViewClient
{
公共覆盖布尔应覆盖EurlLoading(WebView视图、IWebResourceRequest请求)
{
view.LoadUrl(request.Url.ToString());
返回false;
}
}
公共覆盖bool OnKeyDown(Android.Views.Keycode-Keycode,Android.Views.KeyEvent e)
{
if(keyCode==keyCode.Back&&web\u view.CanGoBack())
{
web_view.GoBack();
返回true;
}
返回base.OnKeyDown(keyCode,e);
}
}
}

根据您对我的评论的回复,您可以尝试将您的
ShouldOverrideUrlLoading
方法更改为以下方法:

public bool ShouldOverrideUrlLoading(WebView view, string url) 
{
    if (url != null && url.startsWith("whatsapp://")) 
    {
        view.Context.StartActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
        return true;
    } 
    else 
    {
        return false;
    }
}

另一个问题也值得一看,它可能会帮助您解决问题。

当您出现错误时,它所说的完整URI是什么导致了问题,您是否确实正确地转义了字符?完整url没有人对此有答案,看起来Android的XAMARIN/C是没有为初学者提供社区支持的,应该考虑其他的选择。不用说,你不应该总是期待快速的反应,这完全取决于你的问题,而且是关于谁去看它的标签。有时问题会有一段时间无人回答,直到有经验的人出现。根据您的回复,您需要确保URI在一开始就用https://完全限定,因此它应该是:它以https://开始,一旦有人单击,它更改并以whatsapp://我不知道为什么显示错误严重性代码描述项目文件行抑制状态错误CS1061“Intent”不包含“ACTION\u VIEW”的定义,并且找不到接受“Intent”类型第一个参数的扩展方法“ACTION\u VIEW”(是否缺少using指令或程序集引用?)IwI C:\Users\IT\source\repos\IwI\IwI\MainActivity.cs 36 Activeand:严重性代码描述项目文件行抑制状态错误CS0117'Uri'不包含“解析”IwI C:\Users\IT\source\repos\IwI\IwI\MainActivity的定义。cs 36 Activeand抱歉转换错误代码段我认为xamarin格式有点不同我将查看是否找不到正确的枚举名,并在下一次靠近手机以外的对象时进行调整。