IONIC 自动更新APP版本

http://blog.csdn.net/dailuwen/article/details/49887607

1、准备工作,添加插件


[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. 如果cordova 未添加请先执行以下命令  
  2.     1、npm install bower -g //安装bower    
  3.     2、bower install ngCordova   //安装cordova  


1.1、添加获取APP版本信息插件

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. ionic plugin add cordova-plugin-app-version  

2.2、添加APP自动更新相关插件

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. ionic plugin add cordova-plugin-file    
  2. ionic plugin add cordova-plugin-file-transfer    
  3. ionic plugin add cordova-plugin-file-opener2  

2、在APP一运行的时候就进行检查版本信息(在run方法添加如下代码)

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. .run(function($ionicPlatform, $http, $rootScope, $ionicActionSheet, $timeout, $cordovaAppVersion,    
  2.         $ionicPopup, $ionicLoading, $cordovaFileTransfer, $cordovaFile, $cordovaFileOpener2) {    
  3.     $ionicPlatform.ready(function() {    
  4.         // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard    
  5.         // for form inputs)    
  6.         if (window.cordova && window.cordova.plugins.Keyboard) {    
  7.             cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);    
  8.         };    
  9.         if (window.StatusBar) {    
  10.             StatusBar.styleDefault();    
  11.         };    
  12.         //服务器上保存版本信息  
  13.         $http.get('http://localhost/app/ver.json')    
  14.         .then(function(data){    
  15.             var serverAppVersion = data.data.verInfo;//服务器 版本    
  16.             console.log("====>>服务器"+serverAppVersion);    
  17.             $cordovaAppVersion.getVersionNumber().then(function(version) {    
  18.                 console.log("version=====本机>>>"+version+"====>>服务器"+serverAppVersion);    
  19.                 if (version != serverAppVersion) {    
  20.                     $ionicLoading.show({    
  21.                         template: "已经下载:0%"    
  22.                     });    
  23.                     var url = "http://192.168.1.77:8080/app/android-debug.apk";     
  24.                     var targetPath = "file:///mnt/sdcard/Download/android-debug.apk";     
  25.                     var trustHosts = true    
  26.                     var options = {};    
  27.                     $cordovaFileTransfer.download(url, targetPath, options, trustHosts).then(function (result) {    
  28.                         $cordovaFileOpener2.open(targetPath, 'application/vnd.android.package-archive'    
  29.                         ).then(function () {    
  30.                             }, function (err) {    
  31.                             });    
  32.                         $ionicLoading.hide();    
  33.                     }, function (err) {    
  34.                         alert('下载失败');    
  35.                     }, function (progress) {                               
  36.                         $timeout(function () {    
  37.                             var downloadProgress = (progress.loaded / progress.total) * 100;    
  38.                             $ionicLoading.show({    
  39.                                 template: "已经下载:" + Math.floor(downloadProgress) + "%"    
  40.                             });    
  41.                             if (downloadProgress > 99) {    
  42.                                 $ionicLoading.hide();    
  43.                             }    
  44.                         })    
  45.                     });    
  46.                 }    
  47.             });    
  48.         });    
  49.             
  50.     });    
  51.         
  52. })  

3、在服务端webapp下添加以下两个文件

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. 1、ver.json  
  2. 2、Android-debug.apk  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值