android联网自动下载安装,ionic app 在android平台自动下载升级安装

零)内容从网络获取试验后整理而成,基本上能符合大部分需求了

修复部分错误,补全部分内容,比如升级说明均来自服务器端配置,以及下载进度条的正确显示

增加服务器端代码及说明

增加app升级步骤。

一)先安装必要的插件:

ionic plugin add cordova-plugin-app-version

ionic plugin add cordova-plugin-file

ionic plugin add cordova-plugin-file-transfer

ionic plugin add cordova-plugin-file-opener2

二)app.js的run方法里添加代码

$ionicPlatform .ready(function () {

//其他代码

//自动下载升级安装

if (ionic.Platform.isAndroid()) {

$http.jsonp('http://www.yourdomain.com/ver.php?callback=JSON_CALLBACK')

.then(function (data) {

var serverAppVersion = data.data.ver;//服务器 版本

$cordovaAppVersion.getVersionNumber()

.then(function (version) {

if (version != serverAppVersion) {

var confirmPopup = $ionicPopup.confirm({

title: '有新的版本:' + serverAppVersion,

template: data.data.desc, //从服务端获取更新的内容

cancelText: '取消',

okText: '升级'

});

confirmPopup.then(function (res) {

if (res) {

if (version != serverAppVersion) {

$ionicLoading.show({

template: "开始下载,请等待..."

});

var url = "http://www.yourdomain.com/app.apk";

var targetPath = "file:///mnt/sdcard/Download/app.apk";

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 (err) {

});

$ionicLoading.hide();

}, function (err) {

alert('下载失败');

}, function (progress) {

//进度,这里使用文字显示下载百分比

var downloadProgress ;

downloadProgress = (progress.loaded / progress.total) * 100;

$ionicLoading.show({

template: '已经下载:' + Math.floor(downloadProgress) + '%'

});

if (downloadProgress > 99) {

$ionicLoading.hide();

}

});

}

}

});

}

});

});

}//if (ionic.Platform.isAndroid()) {

});

*特别要注意,增加依赖关系,因为在浏览器里无法调试这部分代码,只能通过chrome://inspection来调试

三)后端的ver.php代码

header("Content-type:text/html;charset=utf-8");

$callback = $_GET['callback'];

$response = array('ver'=>"0.0.3", 'desc'=>'1.xxx
2.yyyy
3.zzz');

$json = json_encode($response);

echo "$callback($json)";

说明:callback是为了支持jsonp调用,这样使得能ver.php等被跨域调用

四)app升级步骤:

1.修改程序,编译apk,编译前记得修改/config.xml 里的version,提高一个版本号

2.上传apk到服务器指定的路径

3.修改服务器端ver.php代码:$response = array('ver'=>"0.0.3", 'desc'=>'1.xxx
2.yyyy
3.zzz');

建议注释原有语句,增加新语句,这样相当于就保留了完整的升级历史,在新语句里修改ver和config.xml里的version一致,同时修改desc里的升级内容。

<>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 简介 1、Native APP(原生) 2、Hybrid APP(混合) 3、React Native Hybrid App按网页语言与程序语言的混合,通常分为三种类型:多View混合型,单View混合型,Web主体型。 2 技术 2.1 技术选型 Ionic 2.1.1 Ionic介绍 Ionic是一款基于Angular、Cordova的强大的HTML5移动应用开发框架,可以快速创建一个跨平台的移动医用。可以快速开发移动APP、移动WEB页面、微信公众平台应用,混合APP WEB页面。 2.1.2 Ionic和cordova、Angular关系 Ionic = cordova + Angular + ionic Css Ionic 是完全基于谷歌的 Angular 框架,在 Angular 基础上面做了一些封装,让我们可以更快速和容易的开发移动的项目。Ionic 调用原生的功能是基于 Cordova,Cordova 提供了使用JavaScript 调用 Native 功能,ionic 自己也封装了一套漂亮的 CSS UI 库。 2.1.3 开发工具 Visual Studio Code 2.1.4 管理工具 Git 2.2 环境搭建 2.2.1 概述 2.2.2 JDK 2.2.2.1 版本 jdk1.8 2.2.2.2 配置 JAVA_HOME PATH CLASSPATH 2.2.3 Apache ant 2.2.3.1 版本 1.9.12 2.2.3.2 解压 2.2.3.3 配置 ANT_HOME: D:\android\apache-ant-1.10.4 Path: %ANT_HOME%\bin 2.2.3.4 查看安装版本 ant –v 2.2.4 android SDK 2.2.4.1 版本 r24.4.1 2.2.4.2 配置 ANDROID_SDK_HOME: D:\Android\android-sdk-windows Path:%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools 2.2.4.3 SDK 通过SDK Manager下载相关的版本 2.2.4.4 查看信息 android -h 2.2.5 node.js 2.2.5.1 版本 8.11.3 2.2.5.2 安装 2.2.5.3 查看版本 node –v npm -v 2.2.6 npm/cnpm 2.2.6.1 安装npm nodejs已经集成了npm 2.2.6.2 安装 cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 2.2.7 cordova 2.2.7.1 版本 8.0.0 2.2.7.2 安装 npm install -g cordova 可以使用cnpm代替npm cnpm install -g cordova ionic 2.2.7.3 查看版本 cordova -v 2.2.8 ionic 2.2.8.1 版本 3.20.0 2.2.8.2 安装 npm install –g ionic 可以使用cnpm代替npm cnpm install -g cordova ionic 2.2.8.3 查看版本 ionic –v 2.2.8.4 查看信息 ionic info 3 项目 3.1 创建 3.1.1 新建 3.1.2 启动 3.1.3 打包 3.1.3.1 添加 3.1.3.2 生产release版apk(签名后安装) 3.1.3.3 生成debug版apk 3.1.4 签名 3.1.4.1 生成签名文件 keytool -genkey -v -keystore testapp.keystore -alias testapp.keystore -keyalg RSA -validity 20000 3.1.4.2 apk签名 jarsigner -verbose -keystore testapp.keystore -signedjar app-release-signed.apk app-release-unsigned.apk testapp.keystore 3.1.5 安装 安卓手机安装使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值