OnReceivedHttPeror:支持android版本<;23
我正在研究一个加载url的解决方案。我需要获取Http错误,以便重新加载url以创建新会话OnReceivedHttPeror:支持android版本<;23,android,Android,我正在研究一个加载url的解决方案。我需要获取Http错误,以便重新加载url以创建新会话 @Override public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) { super.onReceivedHttpError(view, request, errorResponse);
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
Toast.makeText(getActivity(), "Unexpected error occurred.Reload page again.", Toast.LENGTH_SHORT).show();
if(errorResponse.getStatusCode() == 401){
customWebView.loadUrl(url);
}
}
但上述代码的问题是,它是从棉花糖工作。有谁能给我建议一个解决方案,让我在安卓版本<23以下出现错误吗?
通知主机应用程序在加载资源时从服务器接收到HTTP错误
有谁能给我一个解决方案,让我在安卓系统下出错
版本<23
onreceivedhttperor
添加到API级别23
中。因此,它在23岁以下不起作用
试一试
.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
/*if(Build.VERSION.SDK_INT<23)
{
// You work
}*/
}
@Override
public void onReceivedHttpError(
WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
/*if(Build.VERSION.SDK_INT >= 23)
{
// Your Work
}*/
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler,
SslError error) {
}
});
.setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
}
@凌驾
接收错误时公共无效(WebView视图、WebResourceRequest请求、WebResourceError错误){
/*if(Build.VERSION.SDK_INT=23)
{
//你的作品
}*/
}
@凌驾
在ReceivedSlerRor(WebView视图、SslErrorHandler、,
SslError(错误){
}
});
FYI
此方法在API级别23中被弃用。使用
onReceivedError(WebView、WebResourceRequest、WebResourceError)
相反
那么这个问题还有其他解决办法吗?@ABHI善意地检查一下@Amiya我已经看过那个帖子了。我只需要一个解决方案来实现android版本<23@ABHI有什么反馈吗?我试了几次,但没有找到任何实质性的解决办法。所以现在我在覆盖方法上加了一些条件来满足我的条件。
.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
/*if(Build.VERSION.SDK_INT<23)
{
// You work
}*/
}
@Override
public void onReceivedHttpError(
WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
/*if(Build.VERSION.SDK_INT >= 23)
{
// Your Work
}*/
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler,
SslError error) {
}
});