Android Webview不会打开某些网址

时间:2015-09-24 13:57:01

标签: android webview

我已经尝试了一些不同的方法来创建一个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");

1 个答案:

答案 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(),你正在克服它们。但是,这可能会带来安全风险。