原文: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
}
})

  

cordova APP 检查更新的更多相关文章

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

    原文:Cordova app 检查更新 ----创建项目.添加插件.修改插件(一) 使用Cordova 进行跨平台应用程序的开发 1.创建Cordova项目 $ cordova create hell ...

  2. Cordova app 检查更新 ----JS进行调用(二)

    原文:Cordova app 检查更新 ----JS进行调用(二) 1.获取版本号 需要添加 插件 cordova plugin add https://github.com/whiteoctober ...

  3. 高性能Cordova App开发学习笔记

    高性能Cordova App开发学习笔记 文件结构 添加插件 构建准备 各个www的作用,prepare命令会将hello\www的内容会拷贝到platform下的wwww目录,知道该改哪里了吧?如果 ...

  4. [Phonegap+Sencha Touch] 移动开发76 让cordova app訪问远端站点也能调用cordova插件功能

    原文链接:http://blog.csdn.net/lovelyelfpop/article/details/50735395 我相信.应该会有一些cordova开发人员想过实现以下这种app: 使用 ...

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

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  6. 如何消除手机设置的字体大小对Cordova app(Android)界面font-size的影响

    ===================== 更新分割线 =================== 现在发现其实不需要用安卓编辑器打开,也能找到这个文件,路径是platforms\android\Cord ...

  7. cordova app 监听物理返回键

    物理返回键指的是手机系统自带的返回按钮,通过cordova监听返回按钮操作,可以禁止某些页面的返回操作,以及实现点击两次返回按钮退出应用. var pageUrl = window.location. ...

  8. 创建APP检查更新页

    本文来源及参考:Create a check for updates page for your app. 这篇文章解释了如何创建一个简单的检查更新页,检查该用户已安装的应用程序的最新版本. 简介 这 ...

  9. cordova app强制横屏

    非常简单,只需要在config.xml里加上这行: <preference name="Orientation" value="landscape" /& ...

随机推荐

  1. Java 服务端入门和进阶指南

    作者:谢龙 链接:https://www.zhihu.com/question/29581524/answer/44872235 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 现在互联网上资 ...

  2. uvalive 6393(uva 1572) Self-Assembly 拓扑排序

    题意: 给出一些正方形,这些正方形的每一条边都有一个标号.这些标号有两种形式:1.一个大写字母+一个加减号(如:A+, B-, A-......), 2.两个0(如:00):这些正方形能够任意翻转和旋 ...

  3. js实现科学计算机

    js实现科学计算机 一.总结 1.算法:这个科学计算机是用普通基础算法实习的,没有用栈,用栈要简单很多, 2.发现规律,编程分类:编程的时候,运算符分两种,一元运算符和二元运算符,分类了就好写很多了. ...

  4. Android应用性能优化系列视图篇——隐藏在资源图片中的内存杀手

    图片加载性能优化永远是Android领域中一个无法绕过的话题,经过数年的发展,涌现了很多成熟的图片加载开源库,比如Fresco.Picasso.UIL等等,使得图片加载不再是一个头疼的问题,并且大幅降 ...

  5. Textillate.js有什么用及使用实例

    Textillate.js有什么用及使用实例 一.总结 一句话总结:Textillate.js – 实现动感的 CSS3 文本动画的简单插件 二.textillate.js 文字动画 textilla ...

  6. 我的MFC/C++学习笔记 http://blog.bccn.net/CrystalFan/6909

    2009.07.31 ------------------------------------------------------------------------------------ No.1 ...

  7. 无意中发现Markdown,最终解放了我

    文件夹 概述 换行 删除线 链接自己主动识别 表格 代码块高亮 定义列表 脚注 自己主动生成文件夹 參考资料 正文 概述 大部分情况下,Markdown的基本的语法已够我们使用,比方随性记录点东西.非 ...

  8. pstack.sh 改进版

    pstack.sh 改进版本 #!/bin/bash if (( $# < 1 )) ; then echo "usage: `basename $0` pid" 1> ...

  9. thinkphp3.2.3 自动验证 正则验证

    <?php namespace Home1\Model; use Think\Model; class ShopYuyueInfoModel extends Model { // protect ...

  10. iOS开发网络学习七:NSURLSession的基本使用get和post请求

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...