JKZHP
JKZHP
  • 发布:2015-08-15 11:47
  • 更新:2015-08-15 12:24
  • 阅读:2376

自动更新总是失败,到了99%就不动了,是怎么回事?

分类:MUI

我参照示例做了个自动更新,有的华为手机可以完成自动更新,很顺利,但是有的小米手机又反复试好几次都不能成功,小米有时又很OK,不明白其中的原因!能否帮忙分析下是什么原因?

2015-08-15 11:47 负责人:无 分享
已邀请:
JKZHP

JKZHP (作者)


//检测更新  
    function CheckVersion()  
    {  
        plus.nativeUI.showWaiting("加载中...");          

        var clientUrl = "http://............k"; //(*这个地址是OK的*)  
        mui.getJSON(    
            clientUrl,     
            {},  
            function(data) {                      
                mui.each(data, function(k, v) {   
                    mui.each(v,function(kk, vv) {   
                        var newVer=vv.Version;  
                        //console.log('服务器版本'+newVer);  
                        //console.log('本地版本'+wgtVer);  
                        if(wgtVer&&newVer&&(wgtVer!=newVer)){  
                            var bts=["是","否"];  
                            plus.nativeUI.confirm("更新不需要您重新安装\n建议在“  
                                +”wifi环境下更新\n现在更新?\n\n如遇更新失败,请退“  
                                +”出重新登录,系统将会自动再次更新!;",  
                            function(e){  
                                if(e.index==0)  
                                {  
                                    downWgt();  // 下载升级包    
                                }  

                            },"发现代号为 ["+newVer+"] 的新版本",bts);  
                        }   
                        else  
                        {  
                        }                             
                    });  
                });  
            });  
       plus.nativeUI.closeWaiting();   
    }  

    // 下载wgt文件  
    function downWgt(){  
        var wgtUrl="http://。。。。。。。。。。。。。。38.wgt";  
        var w= plus.nativeUI.showWaiting("   开始下载...   ");  
        var options = {filename:"_doc/update/"};  
        dtask = plus.downloader.createDownload( wgtUrl, options );  
        dtask.start();  
        dtask.addEventListener( "statechanged", function(task,status){  
            switch(task.state) {  
                case 1: // 开始  
                    w.setTitle("   开始下载...   ");  
                    break;  
                case 2: // 已连接到服务器  
                    w.setTitle("   开始下载...   ");  
                    break;  
                case 3:  
                    var a = task.downloadedSize/task.totalSize * 100;  
                    w.setTitle("已下载"+parseInt(a)+"% ");  
                    break;   
                case 4: // 下载完成                             
                    w.setTitle("   开始安装...   ");  
                    installWgt(task.filename);  // 安装wgt包  
                    w.close();  
                break;  
            }  
        } );  
    }  
    // 安装应用资源  
    function installWgt(path){  
        plus.nativeUI.showWaiting("安装更新文件...");  
        plus.runtime.install(path,{},function(){  
            plus.nativeUI.alert("应用资源更新完成!",function(){  
                plus.runtime.restart();  
            });  
        },function(e){  
        });  
       plus.nativeUI.closeWaiting();  
   }  
JKZHP

JKZHP (作者)

我搞不明白,为什么有的安卓机器OK,有的就不OK,误解,盼望高人指教!谢谢!

该问题目前已经被锁定, 无法添加新回复