WebView 显示“no_internet_layout”即使有互联网连接也会收到错误。安卓工作室
我制作了一个 webview 应用程序,但有一个错误困扰着我。 错误在于“webView.setWebViewClient(new WebViewClient()); 和 onErrorReceived” 我创建了一个 no_internet_layout 来显示何时没有连接,并将其添加到“onErrorReceived”实现中。 现在,它不再只在没有互联网连接时显示,而是在有连接时收到的小错误上显示。
这是 no_internet_layout 显示的代码
//no internet screen
public void internetcheck() {
ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobiledata = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mobiledata.isConnected()) {
webView.setVisibility(View.VISIBLE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
relativeLayout.setVisibility(View.GONE);
webView.reload();
} else if (wifi.isConnected()) {
webView.setVisibility(View.VISIBLE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
relativeLayout.setVisibility(View.GONE);
webView.reload();
} else {
webView.setVisibility(View.GONE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
relativeLayout.setVisibility(View.VISIBLE);
}
}
“webView.setWebViewClient(new WebViewClient()); 和 onErrorReceived”的代码
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
internetcheck();
super.onReceivedError(view, request, error);
}
});
我尝试在出现错误时显示文本............
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
Toast.makeText(getApplicationContext(), "Poor Internet Connection", Toast.LENGTH_LONG).show();
super.onReceivedError(view, request, error);
}
});
但是当用户在在使用应用程序的过程中,它显示默认的no_connection_page(不接受),而不是自定义的no_internet_page。
请问如何仅在互联网连接丢失时才在使用应用程序的过程中显示 no_internet_page... ..并且当几乎没有错误但有互联网连接时也显示烤面包测试。 请有人帮助我..
I made a webview app but there is one error which is bothering me.
The error is with the "webView.setWebViewClient(new WebViewClient()); and onErrorReceived"
I created a no_internet_layout to show when there is no connection and added it to the "onErrorReceived" implementation.
Now instead of it to show only when there is no internet connection it also shows on little errors received whiles there is connection.
Here is the code for no_internet_layout display
//no internet screen
public void internetcheck() {
ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobiledata = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mobiledata.isConnected()) {
webView.setVisibility(View.VISIBLE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
relativeLayout.setVisibility(View.GONE);
webView.reload();
} else if (wifi.isConnected()) {
webView.setVisibility(View.VISIBLE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
relativeLayout.setVisibility(View.GONE);
webView.reload();
} else {
webView.setVisibility(View.GONE);
swipeRefreshLayout.setVisibility(View.VISIBLE);
relativeLayout.setVisibility(View.VISIBLE);
}
}
The code for "webView.setWebViewClient(new WebViewClient()); and onErrorReceived"
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
internetcheck();
super.onReceivedError(view, request, error);
}
});
I tried showing a text when there is an error.....
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
Toast.makeText(getApplicationContext(), "Poor Internet Connection", Toast.LENGTH_LONG).show();
super.onReceivedError(view, request, error);
}
});
...but when the user looses internet connection in the middle of using the app,it shows the default no_connection_page (which is not accepted) instead of the customized no_internet_page.
Please how can i show the no_internet_page in the middle of using the app only when internet connection is lost...
..and also show toast test when there are little errors but there is internet connection.
Please someone help me..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论