android - 如果没有加载 url 页面,则加载本地 html (Android Studio)
问题描述
我正在尝试将 URL 加载到 Android Studio 上的 webView。我根据用户输入加载 URL(在下面的代码中是 urlResult)。有时,用户可以输入“https://exampleweb.com”、“https://www.exampleweb.com”、“www.exampleweb.com”、“exampleweb.com”等形式。有时,用户输入的 URL 可能不会加载任何内容(链接未激活、被阻止、不存在等)。发生这种情况时,我想显示一个我已经在本地创建的错误 HTML 页面 (errorpage.html)。我怎样才能做到这一点?谢谢!
这是我的代码:
public class WebResult extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_result);
WebView webView = findViewById(R.id.webView_UrlResult);
webView.setWebViewClient(new WebViewClient(){
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){
webView.loadUrl("file:///android_asset/errorpage.html");
}
});
if (urlResult.startsWith("https://")) {
webView.loadUrl(urlResult);
} else {
webView.loadUrl("https://" + urlResult);
}
}
}
解决方案
推荐阅读
- docker - 在许多 Docker 容器上配置 ActiveMQ Artemis 集群?
- elasticsearch - 应用程序的弹性 SIEM?
- ios - 如何在 SwiftUI 应用程序中访问 MockedObject
- php - ACF 按日期订购,从今天开始
- linux - 尝试使用 linux 服务器设置 VSC 远程开发
- python - 如何在python中加载网页加载时触发的所有API?
- sql - 时间戳功能是否考虑 bigquery 中的夏令时
- pyspark - PySpark:PySpark 序列函数中的日期间隔?
- arrays - 在c语言中询问用户他的名字,如果名字在数据库中,打印“欢迎(名字)”,如果不是打印“名字不在数据库中
- python - 进入while循环,即使它是假的