我已经尝试了一些不同的方法来创建一个webview应用,但我对某些网址存在问题,例如http://bit.ly/1MV5ov4(它只是一个例子,因为它有一个SPLASH屏幕,然后加载内容)。这不起作用,它会卡在移动网站的启动画面上而不会发生任何其他事情。怎么解决?
我实际上使用的是第三方代码,但我已尝试过其他方式使用相同的结果。是否与HTML5有关?
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Force links and redirects to open in the WebView instead of in a browser
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebViewClient(new ExtendWebViewClient());
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
// Use remote resource
mWebView.loadUrl("http://bit.ly/1MV5ov4");
答案 0 :(得分:3)
可能存在问题,因为此网站使用的是https。请尝试以下方法:
private class ExtendWebViewClient extends WebViewClient {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
// Ignore SSL certificate errors
handler.proceed();
}
}
然后使用您的webview实例输入以下内容:
mWebView.setWebViewClient(new ExtendWebViewClient());
onReceivedSslError通知主机应用程序在加载URL时发生SSL错误。通过调用proceed(),你正在克服它们。但是,这可能会带来安全风险。