Java 如何在webview上显示自定义错误消息

Java 如何在webview上显示自定义错误消息,java,webview,custom-error-handling,Java,Webview,Custom Error Handling,我正在尝试为使用webview的应用程序创建自定义错误消息。到目前为止,我使用的代码有一个非常小的问题。。。当我在webview上单击链接时,页面将重新加载同一页面,而不是处理单击的链接。我在webview上的链接是下载链接,因此它应该使用相同的应用程序或打开加载程序选项进行下载 protected void fetch_web(){ final WebView web; web = (WebView) findViewById(R.id.voice_mail_view_port

我正在尝试为使用webview的应用程序创建自定义错误消息。到目前为止,我使用的代码有一个非常小的问题。。。当我在webview上单击链接时,页面将重新加载同一页面,而不是处理单击的链接。我在webview上的链接是下载链接,因此它应该使用相同的应用程序或打开加载程序选项进行下载

protected void fetch_web(){
    final WebView web;
    web = (WebView) findViewById(R.id.voice_mail_view_port);
    NoNetwork = (Button) findViewById(R.id.btn_no_internet);
    NoNetwork.setVisibility(View.GONE);
    String mdb = "http://192.168.23.1/default.php";

    getWindow().setFeatureInt(  Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
    final Activity MyActivity = this;
    web.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {

            MyActivity.setTitle("Fetching feeds...");
            MyActivity.setProgress(progress * 100);

            loader();

            if(progress == 100) {
                MyActivity.setTitle(R.string.app_name);
                deLoader();;
            }
        }
    });
    web.setWebViewClient(new WebViewClient() {
        public void onReceivedError(WebView view, int errorCode, String description, String
                failingUrl) {
            deLoader();
            alert("No Internet Connection","Let's get connected to see feeds");
            web.setVisibility(View.GONE);
            NoNetwork.setVisibility(View.VISIBLE);
        }
    });
    web.getSettings().setJavaScriptEnabled(true);
    web.loadUrl((mdb));
}
protected  void loader(){
    loading = (ProgressBar) findViewById(R.id.loader);
    loading.setVisibility(View.VISIBLE);
}
protected  void  deLoader(){
    loading = (ProgressBar) findViewById(R.id.loader);
    loading.setVisibility(View.INVISIBLE);
}
示例下载链接

有人能帮我吗,我怀疑我的错误是从这里来的

web.setWebViewClient(new WebViewClient() {
    public void onReceivedError(WebView view, int errorCode, String description, String
            failingUrl) {
        deLoader();
        alert("No Internet Connection","Let's get connected to see feeds");
        web.setVisibility(View.GONE);
        NoNetwork.setVisibility(View.VISIBLE);
    }
}); 

尝试强制应用程序在其他浏览器中打开链接

Intent intent= new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);

如果失败,请让我知道如何提供更多帮助。

效果很好。谢谢