Android如何使用WebView访问https的网站

Android中可以用WebView来访问http和https的网站,但是默认访问https网站时,假如证书不被Android承认,会出现空白页面,且不会有任何提示信息,这时我们必须加多一些配置。

此方法只针对2.1版本以上的Android。

1 package me.gevin;
2  
3 import android.net.http.SslError;
4 import android.os.Bundle;
5 import android.webkit.SslErrorHandler;
6 import android.webkit.WebView;
7 import android.webkit.WebViewClient;
8  
9 public class TestActivity extends Activity {
10  
11     WebView wvTest = null;
12  
13     @Override
14     protected void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.wvTest);
17  
18         wvTest = (WebView) this.findViewById(R.id.wvTest);
19         wvTest.setWebViewClient(new WebViewClient() {
20             public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
21                 //handler.cancel(); // Android默认的处理方式
22                 handler.proceed();  // 接受所有网站的证书
23                 //handleMessage(Message msg); // 进行其他处理
24             }
25         });
26         wvTest.getSettings().setJavaScriptEnabled(true);
27         wvTest.getSettings().setDefaultTextEncodingName("gb2312");
28         wvTest.loadUrl("https://login.taobao.com/");
29  
30     }
31  
32 }

你可能感兴趣的:(Android如何使用WebView访问https的网站)