android端网页超链接调用native app为什么在QQ,UC浏览器内部打开了应用,Chrome没有任何问题

上头给了一个需求,要通过一个网页的超链接启动本地app,但是在网上查了相关资料都是通过自定义URL Schemes协议来启动app,代码如下:

//android端xml配置
<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="test" android:host="gw" android:pathPrefix="/open" android:port="8888"/>
</intent-filter>

//js代码:
    var t;
    var config = {
        scheme_IOS: 'appB://',
        scheme_Adr: 'test://gw:8888/open',
        download_url: "http://mb.sseinfo.com/ComInfoServer/ssegwappdownload.jsp",
        timeout: 600
    };
    function startApp(){
        var startTime = Date.now();
        
        if(isWeiXin()){
            alert("请在浏览器中打开!");
        }else{
            var iframe = document.createElement("iframe");
            if(checkOS()){
                iframe.src=config.scheme_Adr;
            }else{
                iframe.src=config.scheme_IOS;
            }
            iframe.style.display = "none";
            document.body.appendChild(iframe);
            t = setTimeout(function() {
                    var endTime = Date.now();
                    if (!startTime || endTime - startTime < config.timeout + 20) { 
                        window.location = config.download_url;
                    } else {
                        
                    }
            }, config.timeout);

            window.onblur = function() {
                clearTimeout(t);
            }
        }
    }

那么问题就是,除了Chrome可以,在qq,UC浏览器中都会在浏览器内部启动app,在手机后台进程中并没有启动新的app,整个app界面直接是嵌入在浏览器

不负相思意
浏览 332回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java