ionic android升级检查

天下之事常成于困约,而败于奢靡。这篇文章主要讲述ionic android升级检查相关的知识,希望能为你提供帮助。
https://www.cnblogs.com/zxj159/p/4421578.html
坑:【ionic android升级检查】放到cordova.file.DataDirectory下载异常? 只好cordova.file.externalDataDirectory
代码

// 检查更新 $scope.appUpdateCheck = function(init) { var init = init || 0; // appUpdateService.showUpdateConfirm({}); // return; VersionService.get({ platform: ionic.Platform.platform() }, function(resp) { // alert(JSON.stringify(resp)) if (resp.code == \'000\') { // alert(resp.data.version) // alert($cordovaAppVersion.getVersionNumber()) // alert($cordovaAppVersion.getVersionCode())cordova.getAppVersion.getVersionNumber(function(version) { // alert(version) if (version == resp.data.version) { if (!init) { messageService.show(\'当前已是最新版本\'); } return; }$scope.hasNewVersion = 1; $scope.device_items[1].name = $sce.trustAshtml(\'升级检查< font style="color:#FD1F38"> - New!< /font> \'); if (!init) { appUpdateService.showUpdateConfirm(resp.data); } }); } else { messageService.show(resp.msg); } }); }

; (function(angular) {angular.module(\'mobile\').factory(\'appUpdateService\', [\'$cordovaFileTransfer\', \'$cordovaFileOpener2\', \'$ionicPopup\', \'$ionicLoading\', \'$timeout\', \'messageService\', function($cordovaFileTransfer, $cordovaFileOpener2, $ionicPopup, $ionicLoading, $timeout, messageService) { // 显示是否更新对话框 function showUpdateConfirm(versionInfo) { var versionInfo = versionInfo; var downloadUrl = versionInfo.url, updateLog = versionInfo.upgradeinfo, targetPath = \'file:///storage/sdcard0/Download/XiaoShuTong.apk\' //APP下载存放的路径,可以使用cordova file插件进行相关配置// TODO 测试数据 // downloadUrl = \'http://imtt.dd.qq.com/16891/006473EB7690D8B89DEBD9613BF9E40E.apk?fsname=com.tencent.mm_6.6.0_1200.apk\' // updateLog = \'1. 更新模块升级< br> 2. 修复1个bug< br> \' targetPath = cordova.file.externalDataDirectory + \'XiaoShuTong.apk\'var confirmPopup = $ionicPopup.confirm({ title: \'版本升级\', template: updateLog, //从服务端获取更新的内容 cancelText: \'取消\', okText: \'升级\' }); confirmPopup.then(function(res) { if (res) { // if (ionic.Platform.isios()) { //// 提示进入 APP store //messageService.show(\'请到App Store升级.\'); // } if (ionic.Platform.isandroid() & & downloadUrl != \'\') { $ionicLoading.show({ template: "已经下载:0%" }); $cordovaFileTransfer.download(downloadUrl, targetPath, null, true).then(function(result) { // 打开下载下来的APP $cordovaFileOpener2.open(targetPath, \'application/vnd.android.package-archive\').then(function() { // 成功 }, function(err) { // 错误 // alert(\'安装文件打开失败, 请尝试手动安装.\'); messageService.show(\'安装文件打开失败, 请尝试手动安装.\'); }); $ionicLoading.hide(); }, function(error) { $ionicLoading.hide(); // alert(JSON.stringify(error)); // messageService.show(JSON.stringify(error)); messageService.show(\'请设置应用文件操作权限, 然后重试.\'); }, function(progress) { var downloadProgress = Math.floor((progress.loaded / progress.total) * 100); if (downloadProgress > 0) { $ionicLoading.show({ template: \'已经下载:\' + downloadProgress + \'%\' }); } if (downloadProgress > 99) { $ionicLoading.hide(); } }); } } else { // 取消更新 $ionicLoading.hide(); } }); }// return return { showUpdateConfirm: showUpdateConfirm } } ]); })(angular);


    推荐阅读