|
使用cordova做了一个android app,软件更新的时候需要下载服务器上最新的app到sdk,在android 6.0以下的系统是可以下载成功的,但是6.0,7.0的系统就提示下载是吧。请问这个需要怎么解决。
下载的原理是参照这个地址:https://github.com/zxj963577494/ionic-AutoUpdateApp
关键代码如下:
- function UpdateForAndroid() {
- $ionicLoading.show({
- template: "已经下载:0%"
- });
- var url = 'https://qd.myapp.com/myapp/qqteam/AndroidQQ/mobileqq_android.apk'; // 下载地址
- var targetPath = "/sdcard/Download/ionic.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) {
- console.log(err);
- });
- $ionicLoading.hide();
- }, function (err) {
- $ionicLoading.show({
- template: "下载失败"
- });
- $ionicLoading.hide();
- }, function (progress) {
- $timeout(function () {
- var downloadProgress = (progress.loaded / progress.total) * 100;
- $ionicLoading.show({
- template: "已经下载:" + Math.floor(downloadProgress) + "%"
- });
- if (downloadProgress > 99) {
- $ionicLoading.hide();
- }
- });
- });
- }
复制代码 |
|