uniapp安卓手機(jī)版本自檢更新

安卓手機(jī)版本自檢更新思路,現(xiàn)在后臺(tái)定義一個(gè)版本參數(shù)海渊,每次打開app的時(shí)候進(jìn)行版本參數(shù)獲取枢劝,并且跟本地的版本參數(shù)進(jìn)行比較,如果本地的版本參數(shù)小于或不等于后臺(tái)定義的版本圈浇,那么就會(huì)提醒更新版本寥掐,然后從放在后臺(tái)服務(wù)器的apk進(jìn)行下載安裝。

檢查版本磷蜀,提醒用戶是否更新版本召耘,這里的plushtml5+的api

    var server_version = store.state.appversion
    export async function AndroidCheckUpdate(){  
         try{
             let version = await api('v2/cms/QueryConfigs',{
                 data:{
                     'type':'sys',
                     'key':'cthrVersion'
                 }
              })
              console.log('version',version)
              server_version = version[0].value
             let curr_version = store.state.appversion
             checkVersionToLoadUpdate(server_version,curr_version)
         }catch(e){
             console.log(e)
         }
    }
    function checkVersionToLoadUpdate(server_version,curr_version){
        console.log(server_version+'---'+curr_version,server_version !== curr_version);
        if(server_version !== curr_version){
            //TODO 此處判斷是否為 WIFI連接狀態(tài)
            if(plus.networkinfo.getCurrentType()!=3){
                uni.showToast({  
                    title: '有新的版本發(fā)布,檢測(cè)到您目前非Wifi連接褐隆,為節(jié)約您的流量污它,程序已停止自動(dòng)更新,將在您連接WIFI之后重新檢測(cè)更新',  
                    mask: true,  
                    duration: 5000,
                    icon:"none"
                });  
                return;  
            }else{
                uni.showModal({
                    title: "版本更新",
                    content: `有新的版本發(fā)布庶弃,檢測(cè)到您當(dāng)前為Wifi連接衫贬,是否立即進(jìn)行新版本下載?當(dāng)前下載版本為${server_version}`,
                    confirmText:'立即更新',
                    cancelText:'稍后進(jìn)行',
                    success: function (res) {
                        if (res.confirm) {
                            uni.reLaunch({
                                url:'/pages/auth/updatePage/updatePage'
                            })
                        } else if (res.cancel) {
                            console.log('稍后更新');
                        }
                    }
                });
            }
        }
    }

進(jìn)入下載頁(yè)進(jìn)行apk包下載歇攻,這里下載完成之后會(huì)自動(dòng)拉起安裝框進(jìn)行文件安裝固惯。

var totalSize = 0
var nowbaifen = 0
export function uniDownload(){
    uni.showToast({
        icon:"none",
        mask: true,
        title: '有新的版本發(fā)布,檢測(cè)到您目前為Wifi連接缴守,程序已啟動(dòng)自動(dòng)更新葬毫。新版本下載完成后將自動(dòng)彈出安裝程序',  
        duration: 5000,  
    }); 
    //設(shè)置 最新版本apk的下載鏈接
    var downloadApkUrl = '最新版本apk的下載鏈接';
    var dtask = plus.downloader.createDownload( downloadApkUrl, {}, function ( d, status ) {  
            // 下載完成  
            if ( status == 200 ) {   
                plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename),{},{},function(error){  
                    uni.showToast({  
                        title: '安裝失敗', 
                        duration: 1500  
                    });  
                })
            } else {  
                 uni.showToast({  
                    title: '更新失敗',
                    duration: 1500  
                 });  
            }    
        });
          //監(jiān)聽下載
        dtask.addEventListener("statechanged", function (download, status) {
          switch (download.state) {
              case 2:
                // plus.nativeUI.showWaiting("正在下載...");
                  break;
              case 3:
                //進(jìn)度條百分比 totalSize為總量,baifen為當(dāng)前下載的百分比
                if(totalSize==0){
                  totalSize=parseInt(download.totalSize);
                }
                if(parseInt(download.downloadedSize/totalSize*100)!=nowbaifen){
                   nowbaifen=parseInt(download.downloadedSize/totalSize*100);
                   store.state.baifen = nowbaifen
                   // store.commit('getBaifen',nowbaifen)
                   console.log('baifen',store.state.baifen)
                }                           
                  break;
              case 4:
                 uni.showToast({
                    title: '下載完成',
                    duration: 1500  
                 });
                // plus.nativeUI.closeWaiting();
                  break;
          }
      });
    dtask.start();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末屡穗,一起剝皮案震驚了整個(gè)濱河市贴捡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌村砂,老刑警劉巖烂斋,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異础废,居然都是意外死亡汛骂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門色迂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)香缺,“玉大人,你說(shuō)我怎么就攤上這事歇僧⊥颊牛” “怎么了锋拖?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)祸轮。 經(jīng)常有香客問(wèn)我兽埃,道長(zhǎng),這世上最難降的妖魔是什么适袜? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任柄错,我火速辦了婚禮,結(jié)果婚禮上苦酱,老公的妹妹穿的比我還像新娘售貌。我一直安慰自己,他們只是感情好疫萤,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布颂跨。 她就那樣靜靜地躺著,像睡著了一般扯饶。 火紅的嫁衣襯著肌膚如雪恒削。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天尾序,我揣著相機(jī)與錄音钓丰,去河邊找鬼。 笑死每币,一個(gè)胖子當(dāng)著我的面吹牛携丁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播脯爪,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼则北,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了痕慢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤涌矢,失蹤者是張志新(化名)和其女友劉穎掖举,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娜庇,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塔次,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了名秀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片励负。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匕得,靈堂內(nèi)的尸體忽然破棺而出继榆,到底是詐尸還是另有隱情巾表,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布略吨,位于F島的核電站集币,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏翠忠。R本人自食惡果不足惜鞠苟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秽之。 院中可真熱鬧当娱,春花似錦、人聲如沸考榨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)董虱。三九已至扼鞋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間愤诱,已是汗流浹背云头。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淫半,地道東北人溃槐。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像科吭,于是被迫代替她去往敵國(guó)和親昏滴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容