Java 我的android webview将网页加载到“中”的webview中;Nexus 5X API 25“;但不在“中加载”;Galaxy Nexus API 22(安卓5.1.1)“;
如果有人能试试这个简单的例子并运行这个应用程序,我将非常感激。当url加载时,向下滚动一点,并尝试单击一个橙色按钮,该按钮显示“带我去那里”。在两个不同的设备中有两种不同的行为。在Nexus 5X中,它在同一网络视图中加载目标,但在Galaxy Nexus API 22(Android 5.1.1)中,它在默认的Android浏览器中打开目标。我希望我能表达我的问题。我试着寻找解决方案,但找不到。请帮帮我Java 我的android webview将网页加载到“中”的webview中;Nexus 5X API 25“;但不在“中加载”;Galaxy Nexus API 22(安卓5.1.1)“;,java,android,webview,Java,Android,Webview,如果有人能试试这个简单的例子并运行这个应用程序,我将非常感激。当url加载时,向下滚动一点,并尝试单击一个橙色按钮,该按钮显示“带我去那里”。在两个不同的设备中有两种不同的行为。在Nexus 5X中,它在同一网络视图中加载目标,但在Galaxy Nexus API 22(Android 5.1.1)中,它在默认的Android浏览器中打开目标。我希望我能表达我的问题。我试着寻找解决方案,但找不到。请帮帮我 }公共布尔值应该覆盖(WebView视图,WebResourceRequest请求)方法是
}公共布尔值
应该覆盖(WebView视图,WebResourceRequest请求)
方法是针对android N的,它是7.x.x
在另一种shouldOverrideUrlLoading
方法中,您要求系统处理web,这就是它打开手机浏览器的原因。两种方法都应该这样做。将给定的url加载到de webView中
private class WebViewClient extends android.webkit.WebViewClient {
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
}
当然有。你认为startActivity(intent)是什么代码>是吗?我实际上是android sir/mam的新手,所以我无法找出问题所在。但是为什么在两个不同的设备中有两种不同的行为呢??一个在同一网络视图中打开,另一个在默认浏览器中打开。。我希望所有的链接在所有android设备的同一个webview中打开。请帮助我先生/妈妈请检查以下问题您可能还想检查@TargetApi(Build.VERSION\u CODES.N)
的含义。它是负责不同os版本SIR/mam上不同行为的部分,即使我删除了@TargetApi(Build.VERSION\u CODES.N)这一行,它仍然会给我相同的结果。非常抱歉给您带来麻烦,先生/妈妈,但我真的很难过。先生/妈妈,即使我删除了@TargetApi(Build.VERSION_CODES.N)这行代码,它仍然会给我相同的结果。非常感谢您的帮助。我想我已经解决了。我已经删除了方法public boolean shoulldoverrideerlloding(WebView视图,String url),并且刚刚实现了方法public boolean shoulldoverrideerlloding(WebView视图,WebResourceRequest请求),结果很可能是我的解决方案。再次感谢您的及时回复。最终您将需要实现另一种方法,检查旧版本上WebViewClient的行为,我不确定新方法是否适用于他们。如果此答案正确,请将其标记为正确答案。提前谢谢,不管你需要什么,只要再问一次:)我已经将最低api保持在21。删除了@targetAPI注释并实现了新的shouldOverrideUrlLoading方法,令人惊讶的是,它似乎给了我想要的结果。但仍然需要彻底测试它。如果需要,我一定会征求你的宝贵意见和建议。非常感谢,先生。
private class WebViewClient extends android.webkit.WebViewClient {
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
}