我在使用 Visual Studio Xamarin 开发安卓APP的时候,需要重写 WebViewClient 的 ShouldOverrideUrlLoading 方法,以实现大部分URL在WebView中打开,另外指定的URL跳转到部浏览器打开的需求,不过在调试中发现执行到 context.StartActivity(intent); 这一句是总是提示:未将对象引用设置到实例,尝试多次方式未果,求解:
public class WebViewClients : WebViewClient
{
[System.Obsolete]
public override bool ShouldOverrideUrlLoading(WebView view, string url)
{
Context context = view.Context;
if (url == null) return false;
if (url.StartsWith("taobao://") ||
url.StartsWith("tbopen://"))
{
Intent intent = new Intent();
intent.SetData(Uri.Parse(url));
intent.SetAction(Intent.ActionView);
intent.AddFlags(ActivityFlags.NewTask);
context.StartActivity(intent);
return true;
}
return base.ShouldOverrideUrlLoading(view, url);
}
}