前几天给客户制做的app须要上线,生成二维码扫描进行下载,把生成好的apk挂在服务器端,将地址复制下来,经过草料二维码(http://cli.im/)生成一个二维码javascript
也许你会看到有个app的选项,为何不选择app呢。点开以后你会发现:html
它须要一个应用宝ID。上传到应用宝,光审批就要好几天,特别烦。而且上传到应用宝,本身管理起来感受很不爽。java
经过网址的形式生成了一个二维码,而后保存,经过手机QQ,浏览器各类扫描二维码的工具都试了,均可如下载,可是惟独微信不能够。这点让人很恼火,做为二维码的发起者,竟然不支持扫描下载。web
从网上百度了好多,如今在这里总结一下:浏览器
目前的APP基本都支持二维码扫描,发现二维码用微信扫描后打不开,没法跳转,经折腾发现是微信的一种安全机制,须要在下载地址后面加上#mp.weixin.qq.com,就能够跳转到浏览器下载页面。安全
这个方法只适用于微信5.0以前的,5.0以后的这个方法就失效了。服务器
1,首先你在QQ开放平台http://open.qq.com注册,建立你的应用,
2,在你的应用中就能够找到 微下载的url,有pc端的,和手机端的,
3,把pc端的url地址用浏览器打开,而后能够看到当即下载按钮,
4,经过查看源代码,把这个按钮的下载地址找到,
5,把这个下载地址生成二维码,用微信扫一 扫就能够直接经过浏览器下载了。 微信
这个方法我的不喜欢,须要上传到腾讯的应用宝平台,审核就要好几天,后期管理起来的话也比较麻烦,不过这个方法确定是能够的,毕竟微信和腾讯是一家人。app
作一个网页,指向另外一个网页进行下载。这个方法也是比较常见的一个方法。作一个假的页面而后指向咱们要下载的apk:工具
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <title>判断是不是微信内置浏览器</title> </head> <body> <h1>若是用微信浏览器打开能够看到下面的文字</h1> </body> </html> <script type="text/javascript"> window.onload = function(){ if(isWeiXin()){ var p = document.getElementsByTagName('p'); p[0].innerHTML = window.navigator.userAgent; } } function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == 'micromessenger'){ return true; }else{ return false; } } </script>
主要是来判断当前打开的浏览器是否是微信,micromessenger表明的就是微信的浏览器。
固然这种方式打开以后会一样须要跳转到另外的浏览器去下载。体验也很差。
上传到腾讯微云。这个方法也是一个变相改变路径的过程,将咱们的程序上传到腾讯的微云上
点击左上角的添加,将咱们的apk上传到腾讯微云上,
在咱们上传的apk的右边它会自动给咱们生成一个二维码,咱们使用微信扫描这个二维码的时候,会弹出腾讯微云的界面
而后咱们点击咱们上传的apk,点击便可下载。
上面的这四种方法都不是特别的好,目前也没有找到完美的解决方案,只能说微信太强大。若是说你们有好的解决方案也欢迎你们提供。