ionic3 版本更新
1.安裝外掛
(1)File
$ ionic cordova plugin add cordova-plugin-file
$ npm install --save @ionic-native/file
(2)Transfer
$ ionic cordova plugin add cordova-plugin-file-transfer
$ npm install --save @ionic-native/file-transfer
(3)File Opener
$ ionic cordova plugin add cordova-plugin-file-opener2 $ npm install --save @ionic-native/file-opener
(4)App Version
$ ionic cordova plugin add cordova-plugin-app-version
$ npm install --save @ionic-native/app-version
(5)In App Browser
$ ionic cordova plugin add cordova-plugin-inappbrowser
$ npm install --save @ionic-native/in-app-browser
2.App.module.ts引包
import { File } from "@ionic-native/file"; import{ FileOpener } from "@ionic-native/file-opener"; import { FileTransfer,FileTransferObject } from "@ionic-native/file-transfer"; import { AppVersion } from "@ionic-native/app-version"; import { InAppBrowser} from "@ionic-native/in-app-browser"; import { NativeService } from "../provider/NativeService";
providers: [ StatusBar, SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler}, File, AppVersion, FileOpener, FileTransfer, FileTransferObject, NativeService, InAppBrowser ]
3.建立NativeService.ts檔案
/** * Created by [email protected] on 12-27. */ import {Injectable} from '@angular/core'; import {Platform, AlertController} from 'ionic-angular'; import {AppVersion} from '@ionic-native/app-version'; import {File} from '@ionic-native/file'; import {FileTransfer,FileTransferObject} from "@ionic-native/file-transfer"; import {FileOpener} from '@ionic-native/file-opener'; import {InAppBrowser} from '@ionic-native/in-app-browser'; @Injectable() export class NativeService { constructor(private platform: Platform, private alertCtrl: AlertController, private transfer: FileTransfer, private appVersion: AppVersion, private file: File, private fileOpener: FileOpener, private inAppBrowser: InAppBrowser) { } /** * 檢查app是否需要升級 */ detectionUpgrade() { //這裡連線後臺獲取app最新版本號,然後與當前app版本號(this.getVersionNumber())對比 //版本號不一樣就需要申請,不需要升級就return this.alertCtrl.create({ title: '升級', subTitle: '發現新版本,是否立即升級?', buttons: [{text: '取消'}, { text: '確定', handler: () => { this.downloadApp(); } } ] }).present(); } /** * 下載安裝app */ downloadApp() { if (this.isAndroid()) { let alert = this.alertCtrl.create({ title: '下載進度:0%', enableBackdropDismiss: false, buttons: ['後臺下載'] }); alert.present(); const fileTransfer: FileTransferObject = this.transfer.create(); const apk = this.file.externalRootDirectory + 'android.apk'; //apk儲存的目錄 fileTransfer.download("", apk).then(() => { this.fileOpener.open(apk,'application/vnd.android.package-archive'); }); fileTransfer.onProgress((event: ProgressEvent) => { let num = Math.floor(event.loaded / event.total * 100); if (num === 100) { alert.dismiss(); } else { let title = document.getElementsByClassName('alert-title')[0]; title && (title.innerHTML = '下載進度:' + num + '%'); } }); } if (this.isIos()) { this.openUrlByBrowser("這裡邊填寫下載iOS地址"); } } /** * 通過瀏覽器開啟url */ openUrlByBrowser(url:string):void { this.inAppBrowser.create(url, '_system'); } /** * 是否真機環境 * @return {boolean} */ isMobile(): boolean { return this.platform.is('mobile') && !this.platform.is('mobileweb'); } /** * 是否android真機環境 * @return {boolean} */ isAndroid(): boolean { return this.isMobile() && this.platform.is('android'); } /** * 是否ios真機環境 * @return {boolean} */ isIos(): boolean { return this.isMobile() && (this.platform.is('ios') || this.platform.is('ipad') || this.platform.is('iphone')); } /** * 獲得app版本號,如0.01 * @description 對應/config.xml中version的值 * @returns {Promise<string>} */ getVersionNumber(): Promise<string> { return new Promise((resolve) => { this.appVersion.getVersionNumber().then((value: string) => { resolve(value); }).catch(err => { console.log('getVersionNumber:' + err); }); }); } }
4.app.component.ts呼叫檢查是否升級方法
this.nativeService.detectionUpgrade();//檢查app是否升級
注:在config.xml中修改app的版本號 若不修改 app覆蓋可能出現問題
demo下載地址:https://pan.baidu.com/s/1J3S-xe00VbTF9-ezAoO96A
相關推薦
ionic3 版本更新
1.安裝外掛 (1)File$ ionic cordova plugin add cordova-plugin-file $ npm install --save @ionic-native/file (2)Transfer$ ionic cordova plugin add
ionic3 實現app版本更新下載並開啟進行安裝(包括android7+無法自動安裝apk問題的解決方法)
記錄一下實現app版本一鍵更新下載的功能。 我的專案的總體的檔案: 使用的外掛列表如下: 需要純實現該功能用到的基本上是除了後三個。 首先,安裝這些外掛,在app.component.ts頁面上加入 import { Component, ViewChild } f
ionic3專案版本更新下載
/** * 獲得當前app版本號,如0.01 * @description 對應/config.xml中version的值 * @returns {Promise<string>} */ getV
IC卡解密從零開始學2 版本更新! 解密工具PN532-mfoc-mfcuk-GUI V2.1 By:lookyour
由於 文件夾 7月 thread 2種 金融 系統 dos 同時 程序更新 更新內容最下面2017/5/3 V2.1======================================最簡要介紹下M1卡數據結構目前能看到的有2種M1卡,分別為S50 S70,其實就是
社交開源系統ThinkSNS V4.6.4更新,版本更新提示功能上線
deb 簽到 tle 圖片 繪制 hot 全部 高度 新功能 【摘要】T4最新版本ThinkSNS V4.6.4已於9月12日中午發布,我們一直在堅持維護ThinkSNS V4,所以大家放心使用,本次主要新增版本更新提示功能,同時有十多個修復和優化內容。 第一個新增功能
ios監聽版本更新
else part nsinteger 判斷 ica sed adding nsbundle success // // UpdatedAppManager.h // PengCunPatrol // // Created by YuFly on 2017/11/
vue-cli版本更新(2.9.1)問題記錄
cnblogs ejs log 網上 row 不能 9.1 topic png 重新安裝了nodejs以後,我也重新下載安裝了vue-cli準備寫一個新的練手項目。當我修改好默認端口後,啟動server服務,發現默認瀏覽器不能自動打開頁面;控制臺打印也變成這樣了;‘npm
vue-cli版本更新(2.9.1)問題記錄-2
cli index -h 節奏 顯示 localhost 查找 ios1 訪問 今天想把做好的頁面放在手機端瀏覽,發現新版的vue-cli無論在PC還是手機都只能用localhost訪問(127.0.0.1除外).....(這樣還怎麽讓我用手機吃雞了!TT),於是我在網上查
IT輪子系列(七)——winform 版本更新組件
一個 closed version eight class 使用 splay end blank 前言 最近做了一個winform客戶端的項目,裏面有一個功能是版本更新。以前也有寫過,可忘了具體的邏輯。網上也有介紹用發布模式進行更新的,自己嘗試後沒有成功,提示“vba證書無
iOS開發之Appstore篇——版本更新
ise block store win nsstring oot apps url root 1.版本更新方法 + (void)updateWithAPPID:(NSString *)appid back:(void (^)(NSString *, NSString
【安全牛學習筆記】?KALI版本更新和手動漏洞挖掘(SQL註入)
信息安全 security+ sql註入 漏洞 KALI版本更新-----第一個ROLLING RELEASEKali 2.0發布時聲稱將采用rolling release模式更新(但並未實施)Fixed-release 固定發布周期 使用軟件穩定的主流版本 發布--
Unity(Android版)和Android原生APP簡單實現版本更新
directory 代碼 server 頁面 提示框 自動安裝 obj nis 查看 版本檢測接口說明:(1)請求post,無參數(2)調用地址:http://www.baidu.com/rs/ver/info(3)返回結果:{ "verCode": "2",
MySQL二進制包使用mysql_upgrade版本更新升級MySQL 5.7
使用 正常 init.d usr start bz2 二進制 mysql 檢查 在部署MySQL的過程一般使用的都是二進制包,所以在升級MySQL的版本時也是把最新的MySQL包解壓到basedir下即可,當然如果是MySQL中沒有任何數據的直接刪除重新安裝也可以,在
Python版本更新導致的 yumex 運行錯誤
導致 block 技術 ask backend mage bsp end python yumex運行時,出現的各種錯誤,基本都是因為Python版本更新導致的。 錯誤為:backed-not-running 修改如下兩個腳本即可解決。 /usr/sh
DB2各版本更新內容
數據庫 DB2 -------------------------------------------------------------------------------------------------------DB2 V9.7已更改的內容:https://www.ibm.com/suppo
瀏覽器端類EXCEL表格插件 版本更新 - 智表ZCELL產品V1.1.0.1版本發布
api接口文檔 插件 月初 使用 target 般的 img query 支持 智表(ZCELL),瀏覽器下純JS表格控件,為您提供EXCEL般的智能體驗! 純國產化、高性價比的可靠解決方案。 更新說明 讓大家久等了。因為最近忙其他項目,發布時間稍有延遲。
Unity3d外包團隊:Unity3d最新版本更新內容
外包 desc 我們 class %20 title ref pin .html GPU Instancing Improvement 只能改進了一些功能吧,原GPU Instancing shader可參考 https://docs.unity3d.com/Manua
小程序:版本更新後獲取用戶信息變更
現在 pre .com html clas code develop get evel 小程序:版本更新後獲取用戶信息變更 更新後,以前獲取用戶信息,是通過wx.getUserInfo,然後就會彈出授權窗口,現在必須通過button ,才能實現; <button o
力軟敏捷開發框架7.0版本更新資料
成功 審批 權限 通過 版本更新 下拉 優化 www. 再次 感謝一直以來廣大用戶對力軟的支持,現將力軟敏捷框架7.0版本更新情況發布如下:1新添加了?1.多語言功能;?2.代碼生成器模版;a.可編輯列表代碼生成器(Excel風格)模版;b.報表現實代碼生成器模版;3.樹形
版本更新
nbsp 手動 直接 完成 完成後 mar 制作 簡介 思路 1.簡介 本文是制作了對軟件進行自動更新的程序,有三個模式: 1、模式1程序運行時:檢查到更新,先偷偷下載,下載完成後,提示更新,手動點進行更新。開機啟動時,若有完整的更新包,就進行直接更新。 2、模式2程序