如何阻止打开淘宝网站时自动打开淘宝app

现在淘宝网站貌似升级了,安卓开发时,用webview打开淘宝网站时会自动打开掏宝app。(其他浏览器也是这样)。如何阻止打开淘宝网站时自动打开淘宝app。

大神们,没人知道这个问题的答案吗?拜托了

这个问题折磨了一个礼拜,有两个解决办法:1,集成腾讯的X5webview,可以禁止跳转 2,集成阿里百川必须初始化成功之后调用https://blog.csdn.net/shma1022/article/details/75336795这个博客上的第二个方法,方法调用场景在WebViewClient类的重写shouldOverrideUrlLoading方法中,就可以了。 两者区别是啥呢?第一种解决方案,因为别人封装度太高了,第三方授权免登录也会被禁止掉。第二种就是别人官方的东西,授权免登录淘宝,。用起来比较舒服

1.监测WebView发送的意图。一般情况下,Android Studio中的日志,是可以看到究竟发送的是什么意图的。
2.自己写一个App可以接受并拦截该意图

1.监测WebView发送的意图。一般情况下,Android Studio中的日志,是可以看到究竟发送的是什么意图的。

2.自己写一个App可以接受并拦截该意图

https://zhidao.baidu.com/question/754271646453725164.html

webview中的js启动外部程序时,也相当于发出一个请求,重写webClientshouldOverrideUrlLoading(WebView view, String url) 方法,可以拦截掉该请求。
这个请求的格式应该是在手淘Manifest中填写的,我查看了下手淘打开程序的的scheme是这样的 taobao://m.taobao.com 应该可以通过比较请求的地址拦截
掉,如果没拦截到,可能是scheme不太对,你可以用日志打印出来具体看下。

mWebView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            return super.shouldOverrideUrlLoading(view,url);
        }

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
             });
            我试了下在三星S7 6.0  小米6  7.1这样不会出现

重写webClient的 shouldOverrideUrlLoading(WebView view, String url)方法,其中shouldOverrideUrlLoading方法如下,拦截掉不是http开头的链接特别要拦截taobao://开头的链接,拦截后直接return false
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (!url.startsWith("http://")) {
return false;
}
view.loadUrl(url);
return true;
}}