Android WebView在默认浏览器中打开链接 - 在应用程序中打开链接

时间:2017-09-19 23:52:05

标签: android webview android-webview

我用WebView属性创建了一个Android应用程序,一切都很好,但唯一的问题是,当我点击该WebView中的任何链接时,它会自动转到默认的Web浏览器。但我想在我的应用程序Web视图中打开链接。这是我的代码:

mWebView = (WebView) findViewById(R.id.activity_main_webview);
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    mWebView.loadUrl("http://plan.regenbogen-gesamtschule.de/vertretung/schueler/subst_001.htm");
    mWebView.setWebViewClient(new MyAppWebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url) {
            //hide loading image
            findViewById(R.id.progressBar1).setVisibility(View.GONE);
            //show webview
            findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE);
        }});

1 个答案:

答案 0 :(得分:2)

如果您覆盖shouldOverrideUrlLoading(...)中的MyAppWebViewClient并返回false,您的网页浏览应自动尝试加载网址。文档说明如下:

  

返回:如果主机应用程序想要离开当前的WebView并处理URL本身,则返回true,否则返回false。

请参阅shouldOverrideUrlLoading(...)文档。

 mWebView.setWebViewClient(new MyAppWebViewClient(){

    @Override
    boolean shouldOverrideUrlLoading (WebView view, String url) {
        return false;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        //hide loading image
        findViewById(R.id.progressBar1).setVisibility(View.GONE);
        //show webview
        findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE);
    }});