繁体   English   中英

Android webview应用不会加载我的表单

[英]Android webview app won't load my form

嗨,我一直在搜索,但找不到任何可以帮助的东西。

我正在为我们现有的网站创建一个Android应用程序。 网站本身将加载,但用户可以登录的主要表单将不会加载。 有谁知道这是怎么发生的? 该网站是https://app.one-2-ten.com/v2

ps这是我第一次制作Android应用程序,如果它是一个明显的解决方案,那就很抱歉。

ProgressBar progressBar;


WebView webView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    progressBar = (ProgressBar) findViewById(R.id.progressBar);

    webView = (WebView) findViewById(R.id.webView);

    if (savedInstanceState != null) {
        webView.restoreState(savedInstanceState);
    }
    else{
        webView.getSettings() .setJavaScriptEnabled(true);
        webView.getSettings() .setSupportZoom(false);
        webView.getSettings() .setBuiltInZoomControls(false);
        webView.getSettings() .setLoadWithOverviewMode(true);
        webView.getSettings() .setUseWideViewPort(true);
        webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        webView.setWebViewClient(new ourViewClient());
        webView.Settings.AllowContentAccess = true;

        webView.setWebChromeClient(new WebChromeClient(){
            public void onProgressChanged (WebView view, int progress){
                progressBar.setProgress(progress);
                if(progress < 100 && progressBar.getVisibility() == ProgressBar.GONE){
                    progressBar.setVisibility(ProgressBar.VISIBLE);
                }if(progress == 100){
                    progressBar.setVisibility(ProgressBar.GONE);
                }

                }
            }
        );}

        String data = getIntent() .getDataString();

        if(Intent.ACTION_VIEW.equals(getIntent() .getAction())){
            webView.loadUrl(data);
        }else{
            webView.loadUrl("https://one2ten-system.parseapp.com/v2");
        }

    }

public class ourViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView v, String url) {
        if (url.contains("one2ten-system.parseapp.com/v2")) {
            v.loadUrl(url);
            CookieManager.getInstance().setAcceptCookie(true);
        } else {
            Uri uri = Uri.parse(url);
            startActivity(Intent.createChooser(new Intent(Intent.ACTION_VIEW, uri), "Choose browser"));
        }
        return true;
    }

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

}

    @Override
    public void onBackPressed() {
        if(webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
        }
    }

    @Override
public void onSaveInstanceState(Bundle outState){
    super.onSaveInstanceState(outState);
    webView.saveState(outState);
}

}

我发现了我的问题,我忘了添加以下行:webView.getSettings()。setDomStorageEnabled(true);

这使浏览器能够存储表单中的用户数据,例如,因为您登陆登录页面所需的数据。

如果我的答案不完整,请告诉我! 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM