Open URL in WebView instead of default Browser

前端 未结 6 1887
不思量自难忘°
不思量自难忘° 2020-12-30 07:19

I am creating simple Webview application with some links on textview and open those links in webview instead of default browser. My

6条回答
  •  -上瘾入骨i
    2020-12-30 08:07

    The WebViewClient is set by call setWebViewClient() method on you WebView refrence.

    Firstly set all properties for webview then call loadURL(String url) method, It will open sublinks to same webview instead of open into browser.

    ProgressDialog progressDialog = new ProgressDialog(WebActivity.this);
    WebView webview= (WebView) findViewById(R.id.webview);
    
    webview.getSettings().setDomStorageEnabled(true);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setVerticalScrollBarEnabled(false);
    webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webview.getSettings().setPluginsEnabled(true);
    webview.getSettings().setSupportMultipleWindows(true);
    webview.getSettings().setSupportZoom(true);
    webview.setVerticalScrollBarEnabled(false);
    webview.setHorizontalScrollBarEnabled(false);
    
    webview.loadUrl("http://www.google.com");
    
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            progressDialog.dismiss();
        }
    
        @Override
        public void onPageStarted(WebView view, String url,Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
            progressDialog.setMessage("Loading ...");
            progressDialog.setCancelable(false);
            progressDialog.setCanceledOnTouchOutside(false);
            progressDialog.show();
        }
    });
    

提交回复
热议问题