1

I m trying to load one of my cloud URL from android webview but it returns HTTP Status 401 always. If i tried from Chrome mobile browser its working as expected. Even in iOS WebView its working fine.

Here is my code, Please someone help me.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_xoi);

    base_url = "https://vision.xoeye.io/partners/abcd/share?";
String params = "shareId=12345678910111213141516" +
        "&serviceTicket=123-123&" +
        "customer=Manikanta&" +
        "location=3201 S. State St. Chicago IL 60616";

    webView = findViewById(R.id.webView);

    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
    webView.getSettings().setDomStorageEnabled(true);
    webView.clearHistory();
    webView.clearCache(false);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.clearFormData();
    webView.getSettings().setJavaScriptEnabled(true);

    webView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return false;
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }
    });


    webView.loadUrl(base_url);
}
4
  • @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } Commented Jun 10, 2019 at 12:18
  • Something seems to be wrong with your base url try logging it and run time copy that logged url and paste in browser Commented Jun 10, 2019 at 12:19
  • I took url while debugging app and i pasted in browser.@Mr. Patil Commented Jun 10, 2019 at 12:24
  • I added my url in the code snippet. Please someone check once Commented Jun 10, 2019 at 12:55

1 Answer 1

1

Try This

protected void onCreate(Bundle savedInstanceState) 
{
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_xoi);

     base_url = base_url+params;
     webView = findViewById(R.id.webView);

     WebSettings webSettings=webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setUseWideViewPort(true);
        webView.getSettings().setBuiltInZoomControls(true);
        webView.getSettings().setPluginState(WebSettings.PluginState.ON);
        webView.setWebViewClient(new HelloWebViewClient());
        //add here additional setting which you want
        webView.loadUrl(base_url);
}

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
    }


    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
    }
}

Hope this will help you.

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks for your time @Mohsin Kazi, Nothing changes in result.
//override this method @Override public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) { handler.proceed("Your User Name", "Your Password"); } //add this code in HelloWebViewClient class - Manikanta Ottiprolu

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.