网页判断判断是否安装APP并启动,没有安装就跳转到下载页面

下面是测试网页的内容:

<html>

<head>
<script type="text/javascript">  
  //判断手机上是否安装了app,如果安装直接打开,如果没安装,跳转到下载页面
    function openApp(url) {  
        var timeout, t = 1000, hasApp = true;  
        var openScript = setTimeout(function () {  
            if (!hasApp) { 
            var durl = "http:www.baidu.com";
              window.location.href=durl; 
            }
            document.body.removeChild(ifr);  
        }, 2000)  
      
        var t1 = Date.now();  
        var ifr = document.createElement("iframe");  
        ifr.setAttribute('src', url);  
        ifr.setAttribute('style', 'display:none');  
        document.body.appendChild(ifr);  
        timeout = setTimeout(function () {  
             var t2 = Date.now();  
             if (!t1 || t2 - t1 < t + 100) {  
                 hasApp = false; 
             }
        }, t);  
    }  
</script>  
</head>
<body >
    <input type="hidden" id="downloadUrl" name="downloadUrl" value="http:www.baidu.com"/>
    <div>
       <a href="javascript:void(0);" οnclick='openApp("zdykapphaoyuntao://");' >Client</a>
    </div>
   
    <br/>
</body>

</html>



客户端以android举例:需要在AndroidManifest.xml文件启动activity下面加入 <data android:scheme="zdykapphaoyuntao" />

这样配置好后就在可以启动的activity里面拿到各种需要的数据:如下

Intent intent = getIntent();
Uri data = intent.getData();
if (null != data) {
String host = data.getHost();
String path = data.getPath();
String query = data.getQuery();
if (host.equals("productdetail")) {// 商品详情
intent = new Intent(ActWelcomeNow.this, ActGoodsDetail.class);
intent.putExtra(Contant.NAME, query);
ActWelcomeNow.this.startActivity(intent);
ActWelcomeNow.this.finish();
} else if (host.equals("shopindex")) {// 店铺首页
intent = new Intent(ActWelcomeNow.this, ActShopIndex.class);
intent.putExtra(Contant.NAME, query);
ActWelcomeNow.this.startActivity(intent);
ActWelcomeNow.this.finish();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值