java - Android WebView 不重定向

标签 java android eclipse android-studio netbeans-platform

我有两个问题需要解决,我正在尝试在我的 Android 应用程序的 webview 中加载一个网站,该网站在正常打开的 webview 中工作,但开始出现问题

该网站有一个注册表单,当注册结束时,它会重定向到同一域中的另一个页面...

点击注册按钮并注册结束后,Webview没有重定向,出现注册成功但没有重定向的警告。

这会产生第二个问题,如果您需要应用程序将我重定向到主应用程序 View 的这个词,我需要获取重定向的链接以检查它是否包含“finalcadast”一词。

有人可以帮助我吗?已经非常感谢你了。

这是我的 Activity 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");
}

}

这是我的网页重定向代码,计算机工作正常,但 webview 不起作用。

      $.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"');


}


}


})

最佳答案

尝试这样

@覆盖

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);
        }

    });

}

关于java - Android WebView 不重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36622352/

相关文章:

java - 如何使用 Google App Engine 的 (Java) 任务队列将大量数据/行保存在一个实体中

android - 如何使用 onSaveInstanceState

java - Intellij Debug Docker 容器不断给我 IO 异常握手失败

java - 对java属性文件位置感到困惑

java - 如果 fragment 事务未完成,应用程序就会崩溃

java - Eclipse - 如何在不单击/更改主视图的情况下知道我在哪个工作区工作

php - 在 Windows 上的远程服务器 (FTP) 上使用 Eclipse 开发 PHP

java - 导入android包无法解决

java - 如何在 Android Pie 中使用 Intent.ACTION_OPEN_DOCUMENT

android - 从协程(kotlin)切换到隔离(dart)