cordova APP 检查更新

//升级程序
    .factory(‘UpdateService‘, function ($rootScope, $cordovaAppVersion, $cordovaFileTransfer, $timeout, $ionicLoading, $cordovaFileOpener2, $http, $ionicPopup, xc) {

        //检查更新
        var checkUpdate = function () {
            $cordovaAppVersion.getVersionNumber().then(function (v) {
                var url = xc.server.domain + ‘update/checkNew/‘ + xc.app.id + ‘/android/‘ + v;
                $http.get(url)
                    .error(function () {
                        console.log(‘从服务器获取数据失败!‘);
                    })
                    .then(function (response) {
                            var data = response.data;
                            var compatible_binary = data.compatible_binary;
                            var update_available = data.update_available;
                            if (compatible_binary && update_available) {
                                var url = xc.server.domain + data.update.url;
                                showUpdateConfirm(url, data.info || ‘‘);
                            }
                        }
                    );
            });
        };

        /**
         *
         * @param url
         * @param info
         */
        var showUpdateConfirm = function (url, info) {

            var confirmPopup = $ionicPopup.confirm({
                title: ‘版本升级‘,
                template: info.toString().replace(/\n/g, ‘<br />‘),
                cancelText: ‘取消‘,
                okText: ‘升级‘
            });

            confirmPopup.then(function (res) {
                if (res) {
                    $rootScope.process = 0;
                    $ionicLoading.show({
                        template: ‘<ion-spinner icon="bubbles" class="spinner-assertive spinner spinner-bubbles"></ion-spinner><br>已经下载:{{process}}%‘
                    });
                    var targetPath = cordova.file.externalDataDirectory + "update.apk";//APP下载存放的路径,可以使用cordova file插件进行相关配置
                    var trustHosts = true;
                    var options = {};
                    $cordovaFileTransfer.download(url, targetPath, options, trustHosts).then(function (result) {
                        // 打开下载下来的APP

                        //console.log(JSON.stringify(result));

                        $cordovaFileOpener2.open(targetPath, ‘application/vnd.android.package-archive‘
                        ).then(function () {

                        }, function (err) {

                        });
                        $ionicLoading.hide();
                    }, function (err) {
                        alert(‘下载失败‘);
                    }, function (progress) {
                        //进度,这里使用文字显示下载百分比
                        $timeout(function () {
                            var downloadProgress = (progress.loaded / progress.total) * 100;
                            $rootScope.process = Math.floor(downloadProgress);
                            if (downloadProgress > 99) {
                                $ionicLoading.hide();
                            }
                        })
                    });

                } else {
                    // 取消更新
                }
            });
        };

        return {
            checkUpdate: checkUpdate
        }
    })

  

时间: 2024-11-08 13:49:11

cordova APP 检查更新的相关文章

Cordova app 检查更新 ----创建项目、添加插件、修改插件(一)

使用Cordova 进行跨平台应用程序的开发 1.创建Cordova项目 $ cordova create hello com.example.hello HelloWorld 2.添加插件 2.1切换到Plugins目录 2.2 添加一下插件 cordova plugin add cordova-plugin-device cordova plugin add cordova-plugin-file cordova plugin add cordova-plugin-file-transfer

Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneGap.ionic.AngularJS这些框架或库的关系,我个人理解是这样,PhoneGap是一个商业项目,用来实现HTML5式的跨平台开发,后来Adobe公司将其中的核心代码开源,就是Cordova,Cordova只负责实现JavaScript调用原生代码的功能,是一个壳,而壳里具体用什么样式,在H

app 检查更新和更新

第一种,手动检查 ////  Harpy.h//  Harpy////  Created by Arthur Ariel Sabintsev on 11/14/12.//  Copyright (c) 2012 Arthur Ariel Sabintsev. All rights reserved.// #import <Foundation/Foundation.h> @interface Harpy : NSObject <UIAlertViewDelegate> /*  Ch

[Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容

原文地址:http://blog.csdn.net/lovelyelfpop/article/details/50848524 插件地址:https://github.com/nordnet/cordova-hot-code-push 以下是我对GitHub项目readme的翻译 ---------------------------------------------- Cordova Hot Code Push Plugin 此插件提供了能够使cordova app自己主动更新web内容的功

Cordova webapp实战开发:(7)如何通过简单的方法做到,不重新发布APP来修复bug、增加功能、或者躲开苹果的一些严格审核?

到<Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?>为止,我们已经大体学会了如何使用Cordova了,那些都是使用Cordova的开发者必备的技能.今天我们要说一下开发者应该具备的一些额外经验,这些经验简单有效,如果希望要更系统更好的方法,那就持续关注本系列文章吧,与敏捷个人一起成长. 本次练习你能学到的 学习如何动态不发布APP来修复bug 学习如何动态增加功能 学习如何躲开苹果的一些严格审核 如何动态不发布APP来修复bug 做过网站的都知道,修复b

Cordova 开发环境搭建及创建第一个app

整理记录使用cordova创建app应用程序并将其部署至Android系统移动设备上详细过程,具体如下: 一.前期安装环境 1. 安装JDK(java开发工具包) 2. 安装gradle 3. 安装Android SDK 4. 添加SDK包 5. 设置环境变量 二.Cordova的安装及使用 1. 安装Cordova 2. 使用Cordova创建应用.运行及编译 3. 在模拟器和设备中运行 一.前期安装环境 1. 安装JDK(java开发工具包) 安装Java开发工具包(JDK)8 或更高版本(

Install Visual Studio Tools for Apache Cordova

Install Visual Studio Tools for Apache Cordova Visual Studio 2013 This article refers to the Visual Studio Tools for Apache Cordova, which is pre-release software. The features described are in preview and are subject to change. You can download the

使用 Cordova+Visual Studio 创建跨平台移动应用

1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉Visual Studio用户的.Net程序员能够使用这个宇宙最强的开发IDE通过编写Html.CSS.Javascipt来创建iOS.Android和Windows的本地应用程序. 1.1概述 使用Visual Studio for Apache Cordova你可以为iOS.Android和Win

Visual Studio创建跨平台移动应用_02.Cordova Extension

1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉Visual Studio用户的.Net程序员能够使用这个宇宙最强的开发IDE通过编写Html.CSS.Javascipt来创建iOS.Android和Windows的本地应用程序. 1.1概述 使用Visual Studio for Apache Cordova你可以为iOS.Android和Win