2016-04-14 35 views
0

我有2個問題是INTERIA黎明來解決,我想在網頁視圖中加載一個網站我的Android應用程序,網站工作coprretamente web視圖中打開它通常有開始未來的問題的Android的WebView不定向

這個網站有一個註冊表格,當註冊結束時,它會重定向到同一個域內的另一個頁面...

點擊註冊按鈕和終端註冊後,Webview不會重定向,它會顯示警告註冊是成功但不重定向。

這會產生第二個問題,我需要獲取被重定向的鏈接,以檢查它是否包含單詞「finalcadast」,如果你需要這個詞,該應用程序將我重定向到我的主應用程序視圖。

有人可以幫助我嗎?已經非常感謝你了。

這裏是我的WebView活動

public class cadastro extends AppCompatActivity { 

    private WebView wv; 
    private String urlEmCurso; 
    private ProgressDialog progressDialog; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_cadastro); 


     wv = (WebView) findViewById(R.id.webView_cadastro); 
     WebSettings settings = wv.getSettings(); 
     settings.setJavaScriptEnabled(true); 
     settings.setDomStorageEnabled(true); 
//settings.setBuiltInZoomControls(true); 
//settings.setSupportZoom(true); 
     wv.requestFocusFromTouch(); 
     wv.setWebChromeClient(new WebChromeClient()); 
//Isso desabilita o Toolbar nativo do WebView 

     progressDialog = ProgressDialog.show(this, "", "Carregando formulário de cadastro , aguarde..."); 
     wv.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String urlinterna) { 
       //urlinterna = "https://onneti.net/melleven/cad.html"; 
       Log.i("URL", "getUrl: " + view.getUrl()); 
       Log.i("URL", urlinterna); 
       urlEmCurso = urlinterna; 


       //Para redirecionar para Activity de cadastro 
       if (urlEmCurso.contains("noSession")) { 
        Intent intent = new Intent(getApplication(), MainActivity.class); 
        //intent.putExtra("url", urlEmCurso); 
        startActivity(intent); 
       } 

       progressDialog.show(); 
       wv.loadUrl(urlinterna); 


       return false; 
      } 

      @Override 
      public void onPageFinished(WebView view, String url){ 
       if(progressDialog.isShowing()){ 
        progressDialog.dismiss(); 
       } 
      } 

     }); 

     wv.loadUrl("https://onneti.net/melleven/cad.html"); 
} 

} 

的代碼這裏是我的網頁重定向,計算機工作正常,但web視圖不工作的代碼。

 $.ajax({ 


type : 'POST', 
data : formula, 
url : 'https://onneti.net/melleve/j.php', 
success : function(data){ 






if(data == '' || data == 0){ 


alert('Cadastro realizado com sucesso'); 
location.replace("https://onneti.net/melleve/finalcad.html?cadastro=finalcadast") 

//$state.go('app.lg'); 

} 


if(data == 1){ 

alert('E-mail já cadastro, por favor escolha outro e-mail ou se esqueceu sua senha clique em "ESQUECI MINHA SENHA"'); 


} 


} 


}) 

回答

1

嘗試像這樣

@覆蓋

protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_cadastro); 
    wv = (WebView) findViewById(R.id.webView_cadastro); 
    WebSettings settings = wv.getSettings(); 
    settings.setJavaScriptEnabled(true); 
    settings.setDomStorageEnabled(true); 
    wv.requestFocusFromTouch(); 
    wv.setWebChromeClient(new WebChromeClient()); 
    wv.loadUrl("https://onneti.net/melleven/cad.html"); 


    progressDialog = ProgressDialog.show(this, "", "Carregando formulário de cadastro , aguarde..."); 
    wv.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String urlinterna) { 

      urlEmCurso = urlinterna; 
      if (urlEmCurso.contains("noSession")) { 
       finish(); 
       startActivity(getIntent()); 
      } 
      else {view.loadUrl(url); // Stay within this webview and load url 
         return true;}}}); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url){ 
      if(progressDialog.isShowing()){ 
       progressDialog.dismiss(); 
      } 
      super.onPageFinished(view, url); 
     } 

    }); 

}

+0

這位朋友你好代碼工作和我一樣,但重定向頁面,我得到的logcat的Android Studio來sendUserActionEvent線( )== null mView –

+0

在代碼中進行了一些更改並在鏈接loadUrl中添加了www後,代碼奏效了,感謝您的幫助。 –

+0

對不起WevertonSouza。請檢查您的重定向網址。感謝您的反饋意見。 –