文档章节

Cordova/Phonegap应用实现检测升级(Android版)

crazymus
 crazymus
发布于 2015/06/12 12:09
字数 404
阅读 5000
收藏 9

App升级的原理很简单,获取服务端最新版的版本信息,与自身的版本信息进行比较,如果自身版本低,就可以提示用户下载新版本。

对于Android应用,版本信息主要存储在AndroidManifest.xml文件中:

<manifest android:hardwareAccelerated="true" android:versionCode="101" android:versionName="1.0.1" android:windowSoftInputMode="adjustPan" package="net.jiusem.tjlib" xmlns:android="http://schemas.android.com/apk/res/android">

android:versionCode表示版本号,是一个整数,android:versionName表示版本名称,使用点号隔开的字符串。

检测App是否需要更新的关键在于获取到versionCode,并与服务端的versionCode进行比较,如果小于服务端,就说明App有新版本了,需要更新。

有一款插件可以获取到App的versionCode,安装方法如下:

cordova plugin add https://github.com/whiteoctober/cordova-plugin-app-version.git

获取versionCode:

cordova.getAppVersion.getVersionNumber(function (version) {
    alert(version);
});


完整的客户端和服务端代码示例:

//检查更新方法
function checkUpdate(){
    //检查更新地址
    var url = 'http://app.test.com/TjLib/check_update.php';
	
	cordova.getAppVersion.getVersionCode(function(versionCode) {
		
		$.post(url,{},function(data){
			var obj = JSON.parse(data);
			if(versionCode < obj.versionCode){
			        //检测到更新时,提示用户是否升级
				var r = confirm(obj.msg);
				if(r){
					//调用浏览器打开下载链接,需要安装inappbrowser插件
					window.open(obj.apk, '_system', 'location=yes');
				}
			}
		});
		
	});
	
}

//App启动后调用一次
setTimeout(function(){
   checkUpdate();
},5000);







服务端代码参考(PHP)
<?php 
//检查更新调用

$data = array(
	'versionCode'=>102,//版本号
	'versionName'=>'1.0.1',//版本名称
	'msg'=>"有新版本可供更新.\n 1.界面美化 \n 2.性能优化", //更新提示
	'apk'=>'http://app.test.com/TjLib/TjLib1.0.1.apk' //app下载地址
);

echo json_encode($data);

?>

欢迎加QQ群交流:454566813 <说明来自开源中国>

© 著作权归作者所有

共有 人打赏支持
crazymus

crazymus

粉丝 67
博文 70
码字总数 106718
作品 8
程序员
phoneGap3.0安装步骤(以windows下的android环境为例):

phoneGap3.0安装步骤(以windows下的android环境为例): 环境: WIN系统,JDK,Android,Eclipse,Ant,Git,PhoneGap3.x (Cordova) 1. 安装JRE,设置JAVAHOME,比如JAVAHOME=C:programJavaj...

kisshua
2014/03/05
0
0
PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码

按照我一惯得套路,我会先说一点废话。PhoneGap和Cordova什么关系?为什么有的地方叫Cordova而有的地方叫PhoneGap ?PhoneGap是一款HTML5平台,通过它,开发商可以使用HTML、CSS及JavaScript来...

Java编程思想
2014/07/21
0
0
Phonegap(Cordova)3.4 + Android 环境搭建

PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,WP7等多种智能手机的核心功能——包括地理定位,加速器,联...

千山万水
2015/06/11
0
0
PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码

按照我一惯得套路,我会先说一点废话。PhoneGap和Cordova什么关系?为什么有的地方叫Cordova而有的地方叫PhoneGap ?PhoneGap是一款HTML5平台,通过它,开发商可以使用HTML、CSS及JavaScript来...

请叫我高级研发工程师
2013/09/06
0
3
phonegap安装 环境搭建与配置详解( 完整版 提供下载地址)

phonegap 安装 环境搭建 完整版 刚刚接触 phonegap 因为配环境遇到各种各样问题.花了一下午时间才完成,所以写一个篇文章希望能给大家节约点时间. 本文主讲windows系统下的phonegap的环境搭建...

james_laughing
2014/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
48分钟前
0
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
3
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
2
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
3
0
中秋快乐!!!

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部