2015-12-13 167 views
-2

我制作的小应用涉及aspx pages,我试着打开它扔掉我的webview我得到了空白屏幕。在webview中忽略ssl证书请求

我试着用Chrome浏览器打开它,它给我的证书需要

enter image description here

我的代码很简单我想补充一些文件解释什么是对

@SuppressLint("SetJavaScriptEnabled") 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_web); 
     Bundle bundle = getIntent().getExtras(); 
     if(bundle != null){ 
      urlSite = bundle.getString("passed_url"); 
     } 
    _toolbar = (Toolbar)findViewById(R.id.toolbar); 
    setSupportActionBar(_toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    _toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      onBackPressed(); 
     } 
    }); 
    webView = (WebView) findViewById(R.id.webView); 
    WebSettings webSettings = webView.getSettings(); 

    // enable javascript 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setDomStorageEnabled(true); 
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true); 
    webSettings.setUseWideViewPort(true); 
    webSettings.setLoadWithOverviewMode(true); 
    webSettings.setPluginState(WebSettings.PluginState.ON_DEMAND); 


    webView.setWebChromeClient(new WebChromeClient()); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      new ParseURl().execute(new String[]{urlSite}); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    }); 
    if(urlSite != null){ 
     webView.clearCache(true); 
     webView.loadUrl(urlSite); 
     // webView.loadUrl("file:///android_asset/af.html"); 
    } 
} 
+0

根据错误消息,它与您的代码无关,并且与网站的名称(URL)不匹配安全证书的名称有关。改变一个或另一个让它们匹配。 – mason

+0

所有我需要如何忽略这个对话框,我想怎么做 –

回答

0

要经过一番研究我找到答案,只是覆写onReceivedSslError方法并将其传递给

@Override 
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { 
    handler.proceed(); // Ignore SSL certificate errors 
}