如何防止超链接触发Android上的intent过滤器?

时间:2015-09-08 21:33:54

标签: android twitter web-applications

我在网页上有一个超链接,可以向Twitter提交推文。

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

在Android上,它会提示用户在Twitter应用程序(如果已安装)或Web浏览器之间进行选择。有没有办法强制Android使用Web浏览器发送推文。换句话说,我不希望提示用户是否要使用Twitter应用程序或Web浏览器发送推文。我只想要网络浏览器。可以这样做吗?

2 个答案:

答案 0 :(得分:0)

是的,您应该可以通过覆盖您提供的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
            }
        });

答案 1 :(得分:0)

  

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

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

  

有没有办法强制Android使用网络浏览器发送推文。

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