Android Webview 无法打开某些 URL

Leo*_* B. 4 android webview

我尝试了一些不同的方法来创建 webview 应用程序,但是我遇到了某种 URL 的问题,例如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");
Run Code Online (Sandbox Code Playgroud)

Ale*_*sas 5

可能有问题,因为该网站使用的是 https。请尝试以下操作:

private class ExtendWebViewClient extends WebViewClient {

       @Override
       public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
             // Ignore SSL certificate errors
             handler.proceed(); 
       }
}
Run Code Online (Sandbox Code Playgroud)

然后在您的 webview 实例中键入以下内容:

mWebView.setWebViewClient(new ExtendWebViewClient());
Run Code Online (Sandbox Code Playgroud)

onReceivedSslError 通知主机应用程序在加载 URL 时发生 SSL 错误。并且通过调用proceed() 来克服它们。但是,这可能会带来安全风险。