Bhaskar Jyoti Dutta
Bhaskar Jyoti Dutta

Reputation: 1800

How to use private url in webView?

I am using webView in my Android app for playing private videos that mean users must not be able to get the URL from the webView even if some error occurs. But when an error occurs as server error etc then webView shows the url- 'can't load URLs www.example.com' Now how to prevent this. Below is my code.

  String uri = "https://example.com";

    webView.setWebViewClient(new WebViewClient() {
        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request) {

            webView.loadUrl(request.getUrl().toString());
            return true;
        }
    });
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webView.loadData(vimeoVideo, "text/html", "utf-8");

Upvotes: 0

Views: 272

Answers (2)

Suhaib Raadan
Suhaib Raadan

Reputation: 1338

use this :

webView.setWebViewClient(new WebViewClient() {
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

     //  show custom message error here
 

    }

});

Upvotes: 0

Piyush Maheswari
Piyush Maheswari

Reputation: 644

You can try something like this:

boolean isPageError = false;

 webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
           isPageError = false;
        }

    @Override
    public void onPageFinished(WebView view, String url) {
        if (isPageError){
            webview.setVisibility(View.GONE);
            txt_error.setVisibility(View.VISIBLE);
            txt_error.setText("error message");
        }
    }

    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
       isPageError = true;
    }
});

Basically make your own custom error page and display it. Hope this helps.

Upvotes: 1

Related Questions