微信为啥不能直接下载.apk安装包

今天遇到一个很蛋疼问题,我们的微信公众号上想放一个下载自己公司app的点击按钮,如果是苹果手机点击这个按钮就直接跳转到苹果的appstore,如果是android手机的话,就直接跳我们的服务器下载apk链接,可是一个很蛋疼的问题出现了,微信  不支持   ,所以,我们就想了一个办法,点击这个按钮,然后让其在浏览器上打开,最后这个问题就ok完美解决了,下面分享一下代码和截图:

源码下载github:https://github.com/TopGuo/weixinpop

在线演示:yipin361.com/zyappd/index.html


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>周翼单车app下载</title>
    <script src="js/bootstrap/js/Jquery.js"></script>
</head>

<body>
    <div align="center">
        <img src="img/bg.png" style="margin: 0 auto ">

        <a id="imgId"><img src="img/btn.png"></a>

    </div>

    <script language="javascript">
        $(function () {

            $("#imgId").click(function () {
                download();
            });
        });

        function download() {
            var cssText =
                "#weixin-tip{position: fixed; left:0; top:0; background: rgba(0,0,0,0.8); filter:alpha(opacity=80); width: 100%; height:100%; z-index: 100;} #weixin-tip p{text-align: center; margin-top: 10%; padding:0 5%;}";
            var u = navigator.userAgent;
            if (u.indexOf(‘Android‘) > -1 || u.indexOf(‘Linux‘) > -1) { //安卓手机
                //判断使用环境
                if (is_weixin()) {
                    loadHtml();
                    loadStyleText(cssText);
                } else {
                    window.location.href = "http://android.zhouyibike.com/app-release.apk";
                }
            } else if (u.indexOf(‘iPhone‘) > -1) { //苹果手机
                window.location.href = "https://itunes.apple.com/cn/app/id1239249767?mt=8";
            } else if (u.indexOf(‘Windows Phone‘) > -1) {
                //winphone手机
                alert("机型不匹配!");
            }
        }

        function is_weixin() {
            var ua = navigator.userAgent.toLowerCase();
            if (ua.match(/MicroMessenger/i) == "micromessenger") {
                return true;
            } else {
                return false;
            }
        }

        function loadHtml() {
            var div = document.createElement(‘div‘);
            div.id = ‘weixin-tip‘;
            div.innerHTML = ‘<p><img src="live_weixin.png" alt="请在微浏览器打开"/></p>‘;
            document.body.appendChild(div);
        }

        function loadStyleText(cssText) {
            var style = document.createElement(‘style‘);
            style.rel = ‘stylesheet‘;
            style.type = ‘text/css‘;
            try {
                style.appendChild(document.createTextNode(cssText));
            } catch (e) {
                style.styleSheet.cssText = cssText; //ie9以下
            }
            var head = document.getElementsByTagName("head")[0]; //head标签之间加上style样式
            head.appendChild(style);
        }
    </script>

</body>

</html>

效果图如下:

时间: 2024-08-29 12:56:24

微信为啥不能直接下载.apk安装包的相关文章

应用商城 下载apk 安装包解析错误 没有权限 Permission denied Android - failed to open zip archive

1.错误提示: 03-31 16:48:43.740: INFO/ActivityManager(59): Start proc com.android.packageinstaller for activity com.android.packageinstaller/.PackageInstallerActivity: pid=620 uid=10026 gids={} 03-31 16:48:44.749: WARN/zipro(620): Unable to open zip '/dat

IIS允许下载APK安装包(MIME类型配置)

.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件.如果需要下载此文件则需要对IIS的MIME类型进行配置. IIS6.0  MIME配置过程: 打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性: 单击MIME类型下的"MIME类型"按钮,打开MIME类型设置窗口: 单击"新建",建立新的MIME类型: 扩展名中填写".apk".MIME类型中填写apk的MIME类型&q

Sencha学习笔记2:打包您的第一个Sencha安卓应用apk安装包

通过上一篇翻译的官方文章的介绍我们对sencha有了初步的印象,同时我们也通过该向导生成了第一个示例应用代码框架,那么下一步可能很多人都觉得应该根据该向导所提示的去看一下一个应用是如何建立起来的详细信息了,但我认为可以换一下学习的路径. 天地会珠海分舵是一个比较急功近利的人,所以有了第一个自动生成的代码示例后,他是比较急于想知道应该如何将该示例打包成一个安卓的apk安装包来安装到目标安卓机器上.刘备做得好,得陇就应该望蜀,做人还是有点追求的好. 下面我们就尝试通过一个HelloWorld的示例来

php自定义apk安装包实例

本文实例讲述了php自定义apk安装包的方法,分享给大家供大家参考.具体实现方法如下: <?php // 源文件 $apk = "gb.apk"; // 生成临时文件 $file = tempnam("tmp", "zip"); // 复制文件 if(false===file_put_contents($file, file_get_contents($apk))){ exit('copy faild!'); } // 打开临时文件 $zi

实现自定义apk安装包

需求:突然收到老大的需求,要对产品进行一次推荐好友安装的活动,每个会员下载自己的专属安装包(里面记录会员的相关信息). 思路:经过了解,发现apk安装包原来只是zip的一个马甲,使用php的ZipArchive类可以对文件进行操作. 实现代码: // 源文件 $apk = "gb.apk"; // 生成临时文件 $file = tempnam("tmp", "zip"); // 复制文件 if(false===file_put_contents(

[Android] Robotium手机自动化测试(仅需apk安装包版)——环境搭建 【转】

Robotium的手机自动化测试,很多都是利用app源代码里的Id定义来开发自动化脚本.而在我开始要为项目中的app写自动化测试脚本的时 候,开发的环境还很不稳定,app也还处于开发的状态中,而且,在需要自己搭建Android整个开发环境的时候,也遇到许多需要耗费很多时间去解决的开 发问题.因此,我觉得,在这种情况下,如果自己的自动化脚本环境能和开发完全独立,那么,应该可以更好地展开自动化脚本的开发.所以,在网上一番探索后, 选择了只需要apk安装包的方法. 当然,这样也会遇到问题,比如,在开发

微赞,你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试.

你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试. 解决方法: 路径中不能中文.

php实现在线下载程序安装包功能

在线下载程序安装包可以很方便在服务器端下载各种程序安装包(Discuz!.phpwind.Dedecms.WordPress....等一些常用程序)并存储在服务器,大大减少站长上传程序安装包时间.默认密码13712489797(请编辑本文件第2行修改) 在线下载程序安装包 更新日志:2014/11/02 重新修改了远程文件列表,文件列表不再局限于一个下拉框里;修正密码频繁验证2014/08/14 v1.1和v1.0的区别在于1.1增加了下载完成后会提示是否解压文件 2014/08/11 在线下载

ubuntu下载软件安装包

<span style="font-family: Arial, Helvetica, sans-serif;">apt-get -d download xxx</span> ubuntu下载软件安装包命令,只下载deb格式的安装包,不安装. xxx是待下载的安装包.