的符合程度(而驗(yàn)證則是檢查形式化規(guī)范的內(nèi)部一致性),即測(cè)試一個(gè)協(xié)議給定實(shí)現(xiàn)的外部行為是否符合協(xié)議的規(guī)范。
[0024]步驟102、智能電視顯示界面顯示可供選擇的升級(jí)對(duì)話(huà)框,所述升級(jí)對(duì)話(huà)框設(shè)置有延遲升級(jí)、立刻升級(jí)及取消升級(jí)三個(gè)選項(xiàng)。
[0025]所述步驟102,具體的,在校驗(yàn)最新升級(jí)包后,智能電視顯示界面顯示包含有延遲升級(jí)、立刻升級(jí)及取消升級(jí)三個(gè)選項(xiàng)的升級(jí)對(duì)話(huà)框,用戶(hù)根據(jù)實(shí)際情況進(jìn)行選擇。
[0026]步驟103、智能電視接收對(duì)升級(jí)對(duì)話(huà)框選項(xiàng)的選擇,當(dāng)選擇的選項(xiàng)為延遲升級(jí),則智能電視保存升級(jí)包并在下次開(kāi)機(jī)時(shí)進(jìn)行自動(dòng)升級(jí);當(dāng)選擇的選項(xiàng)為立刻升級(jí),則智能電視立刻進(jìn)行升級(jí);當(dāng)選擇的選項(xiàng)為取消升級(jí),則智能電視取消本次升級(jí)。
[0027]所述步驟103,具體的,若用戶(hù)選擇延遲升級(jí),最新升級(jí)包將選擇保存到Preferences中,并安裝最新升級(jí)包接口,寫(xiě)入升級(jí)參數(shù),智能電視在下次開(kāi)機(jī)時(shí)進(jìn)行自動(dòng)升級(jí),若用戶(hù)選擇立刻升級(jí),則安裝最新升級(jí)包接口,寫(xiě)入升級(jí)參數(shù),智能電視立刻重啟進(jìn)行升級(jí),若選擇取消升級(jí),則智能電視退出升級(jí)程序,取消本次升級(jí)。
[0028]如上所述,本發(fā)明提供延遲升級(jí)、立刻升級(jí)及取消升級(jí)三種方法處理系統(tǒng)升級(jí),如果用戶(hù)選擇延遲升級(jí),則智能電視將延遲升級(jí)啟動(dòng)命令寫(xiě)入MISC分區(qū),智能電視下次啟動(dòng)時(shí),Bootlaoder根據(jù)延遲升級(jí)啟動(dòng)命令進(jìn)入Recovery模式進(jìn)行升級(jí),提供一種不影響用戶(hù)觀看電視視頻的升級(jí)方式。需要說(shuō)明的是,MISC分區(qū)為android系統(tǒng)規(guī)定的一個(gè)分區(qū)名,用于保存啟動(dòng)及升級(jí)信息;Bootlaoder為android系統(tǒng)啟動(dòng)加載器,用于操作系統(tǒng)內(nèi)核載入,并實(shí)現(xiàn)跳轉(zhuǎn)到內(nèi)核執(zhí)行;Recovery模式為android的升級(jí)恢復(fù)模式,用于執(zhí)行安裝升級(jí)包及恢復(fù)出廠(chǎng)操作。
[0029]所述的智能電視OTA延遲升級(jí)的方法,其中,所述當(dāng)選擇的選項(xiàng)為延遲升級(jí),則智能電視保存升級(jí)包并在下次開(kāi)機(jī)時(shí)進(jìn)行自動(dòng)升級(jí),具體包括:選擇延遲升級(jí),將最新升級(jí)包保存到Preferences ;調(diào)用Recovery System類(lèi)的安裝升級(jí)包接口 ;所述安裝升級(jí)包接口獲取保存的Preferences值,若Preferences值為真,則進(jìn)入步驟下一步;將延遲升級(jí)啟動(dòng)命令寫(xiě)入MISC分區(qū)存儲(chǔ)的BCB結(jié)構(gòu);智能電視在下次開(kāi)機(jī)時(shí)進(jìn)行升級(jí)。需要說(shuō)明的是,Preferences為首選項(xiàng),在android應(yīng)用中用于保存關(guān)鍵字及關(guān)鍵字對(duì)應(yīng)值的映射;RecoverySystem類(lèi)是android升級(jí)操作的框架接口類(lèi)名;BCB結(jié)構(gòu),為android系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),BCB為Boot Control Block的首字母縮寫(xiě),意為啟動(dòng)控制塊。
[0030]所述的智能電視OTA延遲升級(jí)的方法,其中,調(diào)用Recovery System類(lèi)的安裝升級(jí)包接口,具體包括:調(diào)用Recovery System類(lèi)的安裝升級(jí)包接口 ;所述安裝升級(jí)包接口獲取最新升級(jí)包路徑,并將路徑與升級(jí)命令前綴組合;將組合的路徑與升級(jí)命令前綴傳遞給Recovery System類(lèi)的靜態(tài)私有方法Boot Command ;所述靜態(tài)私有方法Boot Command將升級(jí)命令寫(xiě)入Command文件。需要說(shuō)明的是,Boot Command為Recovery System類(lèi)的一個(gè)靜態(tài)方法;Command文件指/cache/recovery/command路徑下的文件,用于保存recovery命令的文件。
[0031]所述的智能電視OTA延遲升級(jí)的方法,其中,選擇立刻升級(jí),智能電視立刻進(jìn)行升級(jí),具體包括:
選擇立刻升級(jí),將最新升級(jí)包保存到Preferences ;
調(diào)用Recovery System類(lèi)的安裝升級(jí)包接口 ;
所述安裝升級(jí)包接口獲取保存的Preferences值,若Preferences值為假,則智能電視立刻重啟進(jìn)入Recovery模式進(jìn)行升級(jí)。
[0032]圖2是本發(fā)明一實(shí)施例所述的用戶(hù)選擇升級(jí)方法的處理流程圖。如圖2所示,用戶(hù)選擇升級(jí)方法的處理流程包括:
步驟201、電視啟動(dòng)完成。
[0033]步驟202、檢測(cè)服務(wù)器上是否有最新升級(jí)包,若有,則進(jìn)行步驟203,否則進(jìn)行步驟211 ;需要說(shuō)明的是,最新升級(jí)包是指服務(wù)器中距用戶(hù)所在時(shí)間最近一次上傳的且版本高于現(xiàn)有智能電視系統(tǒng)版本的升級(jí)包。
[0034]步驟203、下載最新升級(jí)包并校驗(yàn)。
[0035]步驟204、選擇延遲升級(jí)、立刻升級(jí)或取消升級(jí);在校驗(yàn)最新升級(jí)包后,智能電視顯示界面顯示包含有延遲升級(jí)、立刻升級(jí)及取消升級(jí)三個(gè)選項(xiàng)的升級(jí)對(duì)話(huà)框,用戶(hù)根據(jù)實(shí)際情況進(jìn)行選擇,若選擇延遲升級(jí),則進(jìn)入步驟205,若選擇立刻升級(jí),則進(jìn)入步驟206,若選擇取消升級(jí),則進(jìn)入步驟211。
[0036]步驟205、延遲升級(jí)保存Preferences ;用戶(hù)選擇延遲升級(jí),最新升級(jí)包將選擇保存到Preferences中,然后進(jìn)入步驟207。
[0037]步驟206、立刻升級(jí);用戶(hù)選擇立刻升級(jí),進(jìn)入步驟207。
[0038]步驟207、安裝最新升級(jí)包接口,寫(xiě)入升級(jí)參數(shù);具體的,調(diào)用Recovery System類(lèi)的安裝升級(jí)包接口(Install Package方法),所述安裝升級(jí)包接口獲取傳遞的升級(jí)包路徑,將路徑和升級(jí)命令前綴組合起來(lái),傳遞給Recovery System類(lèi)的靜態(tài)私有方法BootCommand,通過(guò)該方法將傳遞的升級(jí)命令寫(xiě)入Command文件;其中,Install Package為Recovery System類(lèi)的一個(gè)靜態(tài)公有方法,在安裝升級(jí)包時(shí),應(yīng)用調(diào)用這個(gè)接口。
[0039]步驟208、讀取Preferences值是否是延遲升級(jí);具體的,安裝升級(jí)包接口根據(jù)上下文參數(shù),獲取保存的延遲升級(jí)Preferences值,Peferences值為真,代表用戶(hù)要執(zhí)行延遲升級(jí),進(jìn)入步驟209,Preferences值為假,代表以后要執(zhí)行立刻升級(jí),進(jìn)入步驟210。
[0040]步驟209、寫(xiě)入BCB信息;具體的,調(diào)用本地方法寫(xiě)入延遲升級(jí)啟動(dòng)命令。
[0041]步驟210、重啟進(jìn)入Recovery模塊進(jìn)行升級(jí)。
[0042]步驟211、退出。
[0043]圖3是本發(fā)明所述的MISC分區(qū)存儲(chǔ)的BCB結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明所述的MISC分區(qū)304存儲(chǔ)的BCB結(jié)構(gòu)包括:
Char command[32] 301 為 Command域,用于保存啟動(dòng)命令,Bootloader會(huì)讀取Command域來(lái)確定啟動(dòng)模式;所述Char command [32] 32中,char是C語(yǔ)言數(shù)據(jù)類(lèi)型,command是變量名,這句代表一個(gè)Char類(lèi)型數(shù)組,數(shù)組長(zhǎng)度32, Command域?yàn)锽CB結(jié)構(gòu)中的一個(gè)域或成員。
[0044]Char status [32] 302 為 Status 域,用于存儲(chǔ)升級(jí)狀態(tài);所述 Char status [32]中,char是C語(yǔ)言數(shù)據(jù)類(lèi)型名,status是變量名,這句代表一個(gè)Char類(lèi)型數(shù)組,數(shù)組長(zhǎng)度32, Status域?yàn)锽CB結(jié)構(gòu)中的一個(gè)域或成員,標(biāo)識(shí)了 recovery操作的狀態(tài),用于保存升級(jí)狀態(tài)。
[0045]Char recovery
[1024] 303 為 Recovery 域,用于保存升級(jí)命令;所述 Charrecovery
[1024] 303中,char是C語(yǔ)言數(shù)據(jù)類(lèi)型名,recovery是變量名,這句代表一個(gè)Char類(lèi)型數(shù)組,數(shù)組長(zhǎng)度1024,Recovery域?yàn)锽CB結(jié)構(gòu)中的一個(gè)域或成員,用于保存升級(jí)命令。
[0046]所述的智能電視OTA延遲升級(jí)的方法,其中,將延遲升級(jí)啟動(dòng)命令寫(xiě)入MISC分區(qū)存儲(chǔ)的BCB結(jié)構(gòu),具體包括:
獲取MISC分區(qū)信息;
構(gòu)造BCB結(jié)構(gòu);
保存延遲升級(jí)啟動(dòng)命令到BCB結(jié)構(gòu)的Command域。
[0047]圖4是本發(fā)明延遲升級(jí)啟動(dòng)命令寫(xiě)入BCB結(jié)構(gòu)的流程圖。如圖4所示,本發(fā)明延遲升級(jí)啟動(dòng)命令寫(xiě)入BCB結(jié)構(gòu)的流程包括:
步驟401、讀取FSTAB文件;所述FSTAB為分區(qū)掛載表,描述了各個(gè)分區(qū)節(jié)點(diǎn),對(duì)應(yīng)的文件系統(tǒng)類(lèi)