2016-11-08 114 views
1

我正在開發一個android應用程序。我使用Webview創建UI和ajax連接到服務器。有一個login.html文件有兩個文本輸入並向服務器發送用戶名和密碼,如果服務器返回成功,它將重定向到index.html文件。不幸的是,它不會重定向到index.html。在Android模擬器工作,但在Android 6手機,它不工作。任何機構知道如何在這種情況下在webview中重定向?如何在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

哪個版本的Android操作系統安裝在模擬器上? –

+0

android 6。它在模擬器中重定向,但不會在移動設備中重定向。 – ofskyMohsen

回答

1

終於我找到了解決辦法。 我應該將此代碼添加到我的java代碼中。 wv是我的webview對象。 shouldOverrideUrlLoading必須實現並返回false。 現在,它在第6版的移動設備和模擬器中都能很好地工作。它成功重定向到第二頁。

wv.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     return false; 
    } 
});