2015-12-13 217 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 
}