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
}