我正在开发一个Android应用程序。我使用Webview创建UI和ajax以连接到服务器。有一个login.html文件有两个文本输入,并向服务器发送用户名和密码,如果服务器返回成功,它将重定向到index.html文件。不幸的是,它没有重定向到index.html。在Android模拟器工作,但在Android 6手机,它不起作用。在这种情况下,任何团体都知道如何在webview中重定向?
var username = $("#username").val();
var password = $("#password").val();
var params = { "username": username, "password": password };
$.getJSON("http://warehouse-abforce.rhcloud.com/api/v1/login", params, function (data) {
document.getElementById("wait").style.visibility = 'hidden';
if (data["success"] == "true") {
window.localStorage.setItem("name_user", data["name"]);
window.localStorage.setItem("username", $("#username").val());
window.localStorage.setItem("password", $("#password").val());
if (navigator.userAgent.match(/Android/i))
document.location = "index.html";
else
window.location.replace("index.html");
});
答案 0 :(得分:1)
最后我找到了解决方案。 我应该将此代码添加到我的java代码中。 wv是我的webview对象。必须实现shouldOverrideUrlLoading并返回false。 现在它在版本6的移动和模拟器中都运行良好。它成功重定向到第二页。
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});