我尝试了一些不同的方法来创建 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)
可能有问题,因为该网站使用的是 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() 来克服它们。但是,这可能会带来安全风险。
| 归档时间: |
|
| 查看次数: |
2023 次 |
| 最近记录: |