写在前面

通常,我们开发一个app,有Android版本,有ios版本,但是,我们有时候只有一个二维码可以放置,比如,通过社会化分享,分享到微信一张图片,通过微信识别二维码来下载我们的app,此时,只有一个二维码, 那么怎样,让ios系统用户扫描二维码下载的事ios版本,Android用户扫描二维码下载到的是Android版本呢。

思路就是,我们知道 ,二维码存储一个路径,这个路径我们不要去放Android或ios的下载地址,而是我们服务器一个 html地址,那么在这个html页面里,我们通过javaScript来的进行Android或ios的逻辑判断,判断后,不同的系统,链接到不同的地址去下载。

页面代码

<html>      <head>          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />          <title>二维码下载title>             <script type="text/javascript">              /*               * 智能机浏览器版本信息:               *               */              var browser = {                  versions: function() {                      var u = navigator.userAgent, app = navigator.appVersion;                      return {//移动终端浏览器版本信息                          trident: u.indexOf('Trident') > -1, //IE内核                          presto: u.indexOf('Presto') > -1, //opera内核                          webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核                          gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核                          mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端                          ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端                          android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器                          iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器                          iPad: u.indexOf('iPad') > -1, //是否iPad                          webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部                      };                  }(),                  language: (navigator.browserLanguage || navigator.language).toLowerCase()              }              if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {  // TODO 此处写ios的下载地址                window.location="https://itunes.apple.com/cn/app/xxx";              }              else if (browser.versions.android) {   // 此处写Andoird 的下载地址               window.location="http://zhj8.aliapp.com/xxx.apk";              }  //            document.writeln("语言版本: " + browser.language);  //            document.writeln(" 是否为移动终端: " + browser.versions.mobile);  //            document.writeln(" ios终端: " + browser.versions.ios);  //            document.writeln(" android终端: " + browser.versions.android);  //            document.writeln(" 是否为iPhone: " + browser.versions.iPhone);  //            document.writeln(" 是否iPad: " + browser.versions.iPad);  //            document.writeln(navigator.userAgent);          script>      head>      <body>      body>  html>  

写在后面

我们只需把上面的html页面地址放在二维码里面,通过扫描二维码进入此页面,此页面会有相应的逻辑判断和下载页面的跳转。

一些实用工具文旦下载地址:

Gif图片录制软件:Gif图片录制软件,可以帮助录制电脑屏幕上任意大小内容任意时间长度,而且还可以自己调节内容,可以断点续录。
RxJava中文文档:Rxjava目前来说是非常流行的异步框架,掌握Rxjava可以在工作中得心应手,这里提供Rxjava中文文档。可以帮助你更好更快的掌握这项技术。
GifView(Gif图片播放器):Gif图片播放器,可以帮助你,像看电影一样,调节图播放的进度,而且还可以暂停播放
Android逆向助手:反编译别人的App是不道德的,但是,如果是为了纯粹的学习,提升自己,还是可以的,Android逆向助手,可以帮助你,获取到你想要的

更多相关文章

  1. 【源码】android新闻日报源码、android 企业级erp商业应用源码、
  2. Android安卓开发集成微信第三方扫描二维码登录-超级无敌具详细
  3. android studio 3.x 以上版本的Native JNI/NDK 调用c++/c语言程
  4. Android各版本查询和开启悬浮窗权限
  5. android 导入项目gradle(无法下载/下载慢/版本号与gradle plugin
  6. Android 基于Zxing扫码实现(三)、从相册选取二维码
  7. Android服务器——使用TomCat实现软件的版本检测,升级,以及下载更
  8. Android studio如何使用SVN进行版本控制?
  9. Android 系统最近几个版本的更新,你了解吗?

随机推荐

  1. Android——Intent 相关
  2. OpenGL ES教程I之创建OpenGL视图(原文对
  3. Android中bitmap图片透明度的处理(以撕美
  4. Android之Service
  5. Android中的Touch事件
  6. android github 知名库
  7. Cocos2d-x 3.2编译Android程序错误的解决
  8. Android实现模拟时钟(简单+漂亮)--时针、
  9. Android(安卓)Launcher 分析 .
  10. android.net.http.AndroidHttpClient And