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就下載手機,自動打開安裝,升級完成。升級可以與上篇的一起使用,小更新用上篇的,大更新用本篇的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM