如何在android上防止超链接触发意图过滤器



我在一个向Twitter提交tweet的网页上有一个超链接。

<a href="https://twitter.com/intent/tweet?text=This is a tweet">Tweet</a>

在Android上,它提示用户在Twitter应用程序(如果已安装)或web浏览器之间进行选择。是否有一种方法可以强制android使用web浏览器发送tweet。换句话说,我不希望用户被提示是否要使用Twitter应用程序或web浏览器发送tweet。我只需要网页浏览器。这能做到吗?

是的,您应该能够通过覆盖您提供的webClient的一些方法来做到这一点。

webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // do your implementation here, by checking the url and what you want to do with it...
                return false;
            }
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                // page started loading
            }
            @Override
            public void onPageFinished(WebView view, String url) {
                // page finished loading
            }
        });

在Android上,它提示用户在Twitter应用程序(如果已安装)或web浏览器之间进行选择。

这取决于Web浏览器。Android有很多Web浏览器。当浏览器遇到这样的链接时,其行为取决于浏览器开发人员。有些浏览器会显示一个选择器;有些浏览器会将链接保留在浏览器中。

是否有办法强制android使用web浏览器发送tweet。

不,因为Android与它无关。Web浏览器开发人员可以做他们想做的事情。如果他们想用ACTION_VIEW Intent启动一个活动,从而触发选择器(或者直接进入应用程序,在Android 6.0+上使用应用程序链接的应用程序),这取决于浏览器开发人员,而不是你。

最新更新