当前位置: 移动技术网 > IT编程>网页制作>HTML > HBuilder使用:微信唤醒APP,无APP则下载

HBuilder使用:微信唤醒APP,无APP则下载

2020年09月21日  | 移动技术网IT编程  | 我要评论
1,需要注册URLschemes(URLschemes是实现APP之间的跳转的),让网页去唤醒目的APP2,在中,加入此代码mui.plusReady(function(){checkArguments();});//判断启动方式functioncheckArguments(){console.log("plus.runtime.launcher:"+plus.runtime.launche...

1,需要注册URL schemes(URL schemes是实现APP之间的跳转的),让网页去唤醒目的APP

 

 

2,在中,加入此代码

 mui.plusReady(function () {

    checkArguments();

  });

  // 判断启动方式  

  function checkArguments() {

    console.log("plus.runtime.launcher: " + plus.runtime.launcher);

    var args = plus.runtime.arguments;

    if (args) {

      // 处理args参数,如打开新页面等  

      mui.alert(args, title)

    }

  }

  // 处理从后台恢复  

  document.addEventListener('newintent', function () {

    console.log("addEventListener: newintent");

    checkArguments();

  }, false);

```

 

3,在需要进行此操作的页面中,加入,如下代码:

此为点击按钮之后出发此操纵的,也有进入页面就可以出发此操作的

onClickRight(e) {

        var ua = window.navigator.userAgent.toLowerCase();

    `//判断是否是在微信中打开?`

        if (ua.match(/MicroMessenger/i) == 'micromessenger') {

          Toast('若想在App打开次页面,请点击右上角,在浏览器中打开');

        }

    `//判断是否在iOS系统中打开?`

        if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {

          window.location.href = "infomarket://"; //ios app协议

          window.setTimeout(function () {

            window.location.href = "https://itunes.apple.com/cn/app/id477927812";

          }, 2000);

        }

    `//判断是否在安卓系统中打开?`

        if (navigator.userAgent.match(/android/i)) {

          var ifr = document.createElement("iframe");

          ifr.src = "infomarket://?new=" + Math.random();

          document.body.appendChild(ifr);

          setTimeout(function () {

            document.body.removeChild(ifr);

            location.href =

              "http://information.liangshiyun.com/phone/Android1.apk";

          }, 2000);

        }

      }

 

有一点需要注意的是:

 

本地打包的static和需要和线上(服务器)同步,否则,本地改了,打包之后也是没改的样子,这一点,看具体操作,**线上本地要同步**

 

还有

 

打包的apk包,可以改下后缀名字(比如infomarket.app改为infomarket.zip),这样可以解压这个apk的包,去找问题

 

或者,去**浏览器浏览有问题网页**,然后刷新几次,**检查---->Network---->all**,去查看加载的文件,去查找一些问题。我之前就是因为本地代码中**没有alert("唤醒")**,但是**线上却弹出了“唤醒**”,这个时候,本地代码没有,就要去加载的那些css,Js,等等的一些文件中,去搜索,有没有相关内容,如果有,那么就是线上代码和本地代码不同步造成的,如果没有,那就换个思路继续查找问题。

本文地址:https://blog.csdn.net/Crazy_GirlLL/article/details/108705502

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网