android - Android 网页视图无法打开此网站
问题描述
我搜索了六天的解决方案 - 包括所有 stackoverflow 帖子,但无法解决。
我的 web 视图可以打开 Google 和 Facebook 等网站,但无法在代码中打开该网站!。我有一个空白页...
这是我的完整代码
webView = findViewById(R.id.wv_pray_time);
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("http://ramadanco.noursal.com/");
webView.setBackgroundColor(Color.TRANSPARENT);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setDomStorageEnabled(true);
webSettings.setDisplayZoomControls(false);
// No net error
webView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
webView.loadUrl("file:///android_asset/error.html");
}
});
// Pull to refresh
mySwipeRefreshLayout = this.findViewById(R.id.swipeContainer);
mySwipeRefreshLayout.setOnRefreshListener(
new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
webView.reload();
if (mySwipeRefreshLayout.isRefreshing()) {
mySwipeRefreshLayout.setRefreshing(false);
}
}
}
);
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
任何人都可以在 webview 中打开这个网站吗?
解决方案
我会推荐以下几点 -
- 首先使用 https:// 而不是 http://。
您在加载内容时可能会遇到 SSL 错误,因此您可以通过这种方式使用它。
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { // ignore ssl error if (handler != null){ handler.proceed(); } else { super.onReceivedSslError(view, null, error); } }
检查您是否已添加互联网权限
<uses-permission android:name="android.permission.INTERNET"/>
推荐阅读
- reactjs - 当词缀中有菜单时,“在 StrictMode 中不推荐使用 findDOMNode”
- python - 读取带有两个标头的 Excel 文件作为数据框并生成一个新标头
- javascript - 生成随机的单词串
- javascript - 如何在 VueJS 3 中格式化数字(管道分隔符数字)
- laravel - 基于环境部署 Laravel .env 文件
- firebase - 来自 Firebase 性能监控的“实时”原始数据?
- webpack - webpack-concat-files-plugin 没有在手表上正确编译文件
- leaflet - Leafletjs 减少平移时的平铺请求
- google-apps-script - 将所有内容从 google drive 业务同步到另一个业务帐户
- regex - 如何从字符串中仅提取版本号