Android中可以用WebView来访问http和https的网站,但是默认访问https网站时,假如证书不被Android承认,会出现空白页面,且不会有任何提示信息,这时我们必须加多一些配置。
此方法只针对2.1版本以上的Android。
package me.gevin; import android.net.http.SslError;
import android.os.Bundle;
import android.webkit.SslErrorHandler;
import android.webkit.WebView;
import android.webkit.WebViewClient; public class TestActivity extends Activity { WebView wvTest = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wvTest); wvTest = (WebView) this.findViewById(R.id.wvTest);
wvTest.setWebViewClient(new WebViewClient() {
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
//handler.cancel(); // Android默认的处理方式
handler.proceed(); // 接受所有网站的证书
//handleMessage(Message msg); // 进行其他处理
}
});
wvTest.getSettings().setJavaScriptEnabled(true);
wvTest.getSettings().setDefaultTextEncodingName("gb2312");
wvTest.loadUrl("https://login.taobao.com/"); }
}