zoukankan      html  css  js  c++  java
  • 通过JS下载 or 唤起App

    通过JS下载 or 唤起App

    判断唤起app的连接是否在WeChat中打开

    let isWeiXin = navigator.userAgent.toLowerCase().indexOf('micromessenger') != -1;
    // 监测手机设备的系统
    systemType(isWeiXin);
    

    判断手机设备为iOS的方法

    // iOS
    function toiOS() {
    	$('#DBL').click(function() {
    		/* [app scheme码]:// */
    		window.location.href = 'scheme://';
    		setTimeout(function() {
    			// iOS App Store下载地址
    			window.location = 'url';
    		}, 300);
    		setTimeout(function() {
    			window.location.reload();
    		}, 1000)
    	});
    }
    

    判断手机设备为Android的方法

    // Android
    function toAndroid(isWeiXin) {
    	if (isWeiXin) {
    		// 在微信中打开链接的提示信息
    		$('#DBL').click(function() {
    			$('#zz').fadeIn();
    		});
    		$('#zz').click(function() {
    			$(this).fadeOut();
    		});
    	} else {
    		var ifr = document.createElement('iframe');
    		/* Android app scheme码 打开地址 */
    		ifr.src = 'scheme://host/openwith';
    		ifr.style.display = 'none';
    		document.body.appendChild(ifr);
    
    		$('#DBL').click(function() {
    			// Android.apk下载地址
    			window.location = 'url';
    		});
    	}
    }
    

    判断手机系统类型(AndroidiOSWeChat

    // 判断手机系统
    function systemType(isWeiXin) {
    	let u = navigator.userAgent,
    		app = navigator.appVersion;
      
    	// 监测设备
    	let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
    		isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/);
    
    	// iOS 设备判断
    	if (isiOS) toiOS();
    	// Android 设备判断
    	if (isAndroid) toAndroid(isWeiXin);
    }
    


    在WeChat中,因为微信的安全机制的问题,通过微信唤起不同设备的app的方法也存在一定的差异;iOS与Android的安全机制不同,唤起各自设备的app的方法也有所差别。
    iOS所有的app都是在App Store中完成的,所以可以通过微信直接唤起苹果的App Store来实现app的唤起和下载;
    Android中app的来源五花八门,可以通过app应用市场、浏览器等来实现app的唤起和下载;因为微信的安全机制,无法通过微信直接唤起app或下载app,只能通过微信提供的插件“浏览器”中打开当前链接,通过浏览器来实现app的下载和打开功能。

  • 相关阅读:
    How To Build CyanogenMod Android for smartphone
    CentOS安装Code::Blocks
    How to Dual boot Multiple ROMs on Your Android SmartPhone (Upto Five Roms)?
    Audacious——Linux音乐播放器
    How to Dual Boot Multiple ROMs on Your Android Phone
    Everything You Need to Know About Rooting Your Android Phone
    How to Flash a ROM to Your Android Phone
    什么是NANDroid,如何加载NANDroid备份?
    Have you considered compiled a batman-adv.ko for android?
    BATMAN—Better Approach To Mobile Adhoc Networking (B.A.T.M.A.N.)
  • 原文地址:https://www.cnblogs.com/ccw869476711/p/12788174.html
Copyright © 2011-2022 走看看