【问题标题】:Hyperlink inside webviewwebview中的超链接
【发布时间】:2021-10-24 09:43:06
【问题描述】:

我在 android 中创建了一个 webview,它工作得很好,但我想要的是用户可以在 webview 中浏览网站,但是当用户单击 webview 中的超链接时,我希望它在 chrome 中打开链接。 . 这是我的 webview 代码

public class MainActivity extends Activity {
    WebView wb;
    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    }
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wb=(WebView)findViewById(R.id.webView1);
        wb.getSettings().setJavaScriptEnabled(true);
        wb.getSettings().setLoadWithOverviewMode(true);
        wb.getSettings().setUseWideViewPort(true);
        wb.getSettings().setBuiltInZoomControls(true);
        wb.getSettings().setPluginState(WebSettings.PluginState.ON);

        wb.setWebViewClient(new HelloWebViewClient());
        wb.loadUrl("https://example.com");
    }
}

我网站上的链接如下,但我不希望此链接在我的 webview 中打开,我希望它在 chrome 上打开

<a href="https://google.com" class="button" >Google</a>

【问题讨论】:

    标签: javascript java android kotlin webview


    【解决方案1】:
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // check url
        if(url.contains("google.com")) {
            // below line will open default app with url
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            // return true when url was handled somehow and doesn't need to be loaded
            return true;
        }
        return false; // not handled manually urls, open them in WebView
    }
    

    startActivity 属于 ContextActicity 扩展它)并且可以直接使用,因为您的 HelloWebViewClient 放在里面,但如果不是,那么您可以使用 WebViews Context

    view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
    

    【讨论】:

      猜你喜欢
      • 2018-01-11
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多