首页 > 代码库 > ionic 通过下载apk升级App
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
- 将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就下载手机,自动打开安装,升级完成。升级可以与上篇的一起使用,小更新用上篇的,大更新用本篇的。
ionic 通过下载apk升级App
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。