ionic 通过下载apk升级App

上篇通过更新文件升级APP,如果遇到了比如更新插件之类的问题,上篇是无法解决的,所以为了解决这个问题,需要下载apk文件升级APP。

     1.配置文件如下:{'appVersion':'1.0.0','content':'1.更新app信息展示<br>2.修复XXX'}

   2.安装ngCordova,下载地址:https://github.com/driftyco/ng-cordova

                1.将ng-cordova.js 拷贝到你的lib文件夹下,然后在index.html文件中的cordova.js文件前引入 ,如       

             <!-- cordova script (this will be a 404 during development) -->
             <script src="lib/ngCordova/ng-cordova.js"></script>
             <script src="cordova.js"></script>

       2.然后注入到你的模块中,比如app.js,如:       

       angular.module('starter', ['ionic','ngCordova']);

   3.然后下载传输文件所需要的插件

文件管理  cordova plugin add cordova-plugin-file  

文件传输    cordova plugin add cordova-plugin-file-transfer

应用版本  cordova-plugin-app-version 

文件打开   cordova-plugin-file-opener2

      首先,通过比较APP版本号与服务器配置文件版本号是否一致,如果不一致,则升级。通过后台获取版本后与更新内容

复制代码
     service.checkUpdate=function(){
           appVersion.getVersion().success(function(data){
                $cordovaAppVersion.getVersionNumber().then(function(version){
                    if(version!=data.appVersion){
                         service.showUpdateConfirm(data.content);
                     }
                 })
           })
       }
复制代码

   然后,如果版本号不一致,则弹窗提示用户是否升级。   

复制代码
       service.showUpdateConfirm=function(content){
             var confirmPopup = $ionicPopup.confirm({   --弹窗提示是否升级
                  title: '版本升级',
                  template: content, 
                  cancelText: '取消',
                  okText: '升级'
               });
             confirmPopup.then(function(res){
                 if(res){
                      $ionicLoading.show({
                         template: "已经下载:0%"         --提示进度条
                      });
                      var url = "http://xxxx.com/xxxx.apk";   --服务器文件地址
                      var targetPath = cordova.file.externalDataDirectory+"xxx.apk";  --手机下载位置,可以根据cordova file设置
                      var trustHosts = true
                      var options = {};
                      $cordovaFileTransfer.download(url,targetPath,options,trustHosts).then(function(result){
                          $cordovaFileOpener2.open(targetPath,'application/vnd.android.package-archive').then(function(){
},
function(){ }) $ionicLoading.hide(); },function(err){ alert(err); },function(progress){ $timeout(function(){ var downloadProgress = (progress.loaded / progress.total) * 100; $ionicLoading.show({ template: "已经下载:" + Math.floor(downloadProgress) + "%" }); if (downloadProgress > 99) { $ionicLoading.hide(); } }) }); }else{ } }) }
复制代码

         4.至此,apk就下载手机,自动打开安装,升级完成。升级可以与上篇的一起使用,小更新用上篇的,大更新用本篇的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值