有没有人知道在WebView中是否有办法拦截"找不到页面"或"页面未加载错误"?
根据android文档,onReceivedError()应该可以拦截.但我在一个应用程序测试它,我删除了错误的URL,它没有做任何事情.
我希望我的应用程序能够提供我自己的自定义错误消息,如果URL由于任何原因不可用.
这是没有做任何事情的代码:
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// custom error handling ... show and alert or toast or something
}
Run Code Online (Sandbox Code Playgroud)
and*_*evo 29
根据文档和我的经验,它应该工作得很好.您只需在WebView中设置WebClientwith overriden方法即可onReceivedError.
这是我的一些旧测试应用程序的片段:
WebView wv = (WebView) findViewById(R.id.webView);
wv.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Log.i("WEB_VIEW_TEST", "error code:" + errorCode);
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
Run Code Online (Sandbox Code Playgroud)
我已经测试过了,它运行得很好.检查您的日志,看看你得到了什么样的代码错误.希望能帮助到你.
R E*_*ris 11
我已尝试在shouldOverrideUrlLoading()内部和该方法之外使用onReceivedError但在WebViewClient中.我甚至在主要的Activity类中尝试过.我对结果不一致感到不满意.所以,我在此之前调用使用loadURL()上使用的测试方法,isOnline(),并要求解决.
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getBaseContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo i = cm.getActiveNetworkInfo();
if ((i == null) || (!i.isConnected())) {
Toast toast = Toast.makeText(getBaseContext(),
"Error: No connection to Internet", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP | Gravity.CENTER, 0, 0);
toast.show();
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
然后,这个onReceivedError位于WebViewClient中,但在overloadurlthingy方法之外.这似乎一直防止愚蠢,傻笑的android错误页面.
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
if (view.canGoBack()) {
view.goBack();
}
Toast toast = Toast.makeText(getBaseContext(), description,
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP | Gravity.CENTER, 0, 0);
toast.show();
}
Run Code Online (Sandbox Code Playgroud)
有些人可能会认为这种资源很重.嗯,不像Android Facebook和Google+应用程序那么重.而不是谷歌服务的方式.坦率地说,我不介意使用那些应用程序氧气.叫我一个坏男孩......
| 归档时间: |
|
| 查看次数: |
62952 次 |
| 最近记录: |