更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]請參閱圖1,其為本發(fā)明提供的應(yīng)用程序的升級方法流程圖;所述升級方法包括:
5100、檢測到終端網(wǎng)絡(luò)連接后,從云端獲取終端中已安裝應(yīng)用升級列表并存儲;
S200、檢測到應(yīng)用啟動時,根據(jù)所述已安裝應(yīng)用升級列表判斷該應(yīng)用是否需要升級;判斷需要升級時提示用戶是否升級;
S300、檢測到用戶確認(rèn)升級后進(jìn)行升級操作。
[0025]本實施例中,為了確保終端中已安裝的所有應(yīng)用都能查詢到是否有新版本,在終端開機后,若檢測網(wǎng)絡(luò)已連接,則從應(yīng)用程序商店的云端獲取最新版本的應(yīng)用。同時參閱圖2,所述步驟SlOO具體包括:
5101、在終端開機后,檢測網(wǎng)絡(luò)是否已連接;
5102、若網(wǎng)絡(luò)已連接,則獲取終端中已安裝的應(yīng)用列表,同時從應(yīng)用程序商店的云端獲取最新版本應(yīng)用列表。
[0026]其中,所述已安裝的應(yīng)用列表中主要包括各應(yīng)用的包名和目前版本號信息,還可以包括安裝時間、應(yīng)用的大小、應(yīng)用的供應(yīng)商等信息。所述最新版本應(yīng)用列表中包括了網(wǎng)絡(luò)上所有的新版本的應(yīng)用的包名和最新版本號,還可以包括新版應(yīng)用的大小和供應(yīng)商等信肩、O
[0027]S103、將所述已安裝的應(yīng)用列表與最新版本應(yīng)用列表進(jìn)行比對,生成已安裝應(yīng)用升級列表并存儲在數(shù)據(jù)庫中。
[0028]所述已安裝應(yīng)用升級列表是通過將已安裝的應(yīng)用的包名與最新版本應(yīng)用的包名進(jìn)行比對得到的,當(dāng)云端的最新版本應(yīng)用列表中的某個應(yīng)用與已安裝的應(yīng)用列表中的某個應(yīng)用的包名相同時,則記錄該應(yīng)用的包名、該應(yīng)用在已安裝應(yīng)用列表中的目前版本號以及該應(yīng)用在最新版本應(yīng)用列表中的最新版本號,并將其生成在已安裝應(yīng)用升級列表中。所述已安裝應(yīng)用升級列表中列出了終端中已經(jīng)安裝的應(yīng)用,包括各應(yīng)用的包名、目前版本號以及最新版本號,還可以包括安裝時間、應(yīng)用的大小、應(yīng)用的供應(yīng)商等信息。
[0029]需要說明的是,在本實施例中,所述已安裝應(yīng)用升級列表僅是包名比對后生成的,其記載了應(yīng)用的目前版本號和最新版本號,但并未就目前版本號和最新版本號的高低進(jìn)行比對。所述已安裝應(yīng)用升級列表,是下面步驟S200中判斷應(yīng)用是否需要升級的依據(jù),而非在已安裝應(yīng)用升級列表中的應(yīng)用都需要升級。例如,當(dāng)某應(yīng)用的目前版本號和最新版本號相同時,則該應(yīng)用無需升級。當(dāng)然,在其他實施例中,也可以在生成已安裝應(yīng)用升級列表時就進(jìn)行目前版本號與最新版本號的比對,從而在生成的已安裝應(yīng)用升級列表中的應(yīng)用都是有新版本、需要升級的應(yīng)用——這也是本發(fā)明保護(hù)的范圍。
[0030]由于終端中有些應(yīng)用使用較為頻繁,有的應(yīng)用使用較少;且終端中已安裝的應(yīng)用可能很多?,F(xiàn)有技術(shù)中常直接將可升級的應(yīng)用全部顯示以便用戶選擇,一有更新就彈出可更新的應(yīng)用信息會影響用戶的其他操作,若應(yīng)用較多會增加系統(tǒng)的顯示運行。而本實施例僅將已安裝應(yīng)用升級列表存儲,直到某應(yīng)用啟動時,再判斷該應(yīng)用是否存在于已安裝應(yīng)用升級列表,是則提示用戶可升級。這樣可減少系統(tǒng)運行,且不會影響用戶的其他操作。請同時參閱圖3,所述步驟S200具體包括:
5201、檢測到應(yīng)用啟動時,提取該應(yīng)用的包名和目前版本號;
5202、在已安裝應(yīng)用升級列表中查詢是否有所述包名:有則執(zhí)行步驟S203;否則,執(zhí)行步驟S204 ;
基于并不是所有的應(yīng)用都有更新,對于被啟動的應(yīng)用,需通過判斷其包名是否存在與已安裝應(yīng)用升級列表中來判斷是否需要更新。
[0031]S203、判斷該包名的目前版本號是否低于已安裝應(yīng)用升級列表中對應(yīng)的最新版本號:是則執(zhí)行步驟S205 ;否則,執(zhí)行步驟S204 ;
S204、不提示;
若應(yīng)用無需升級,則不作任何提示以避免影響用戶操作,該應(yīng)用正常運行。
[0032]S205、提示用戶該應(yīng)用可升級。
[0033]基于有的應(yīng)用用戶已適應(yīng)舊版本,更新后的版本反而使用不方便。為此,本實施例提示用戶可升級,還可同時顯示最新版本號、升級后的應(yīng)用大小供用戶選擇。
[0034]若用戶選擇不升級,則退出升級。若用戶選擇升級,則終端檢測到確認(rèn)升級,則開始升級操作。升級操作主要是下載升級包后安裝,下載時需考慮當(dāng)前的網(wǎng)絡(luò)連接狀態(tài)。若網(wǎng)絡(luò)可用,即連接正常、可下載升級包。若網(wǎng)絡(luò)不可用、如斷開網(wǎng)絡(luò)連接或網(wǎng)絡(luò)信號很弱不足以支持流量下載,則需標(biāo)記該應(yīng)用的下載狀態(tài),直到檢測網(wǎng)絡(luò)可用時自動繼續(xù)下載。同時參閱圖4,所述步驟S300具體包括:
5301、檢測到用戶確認(rèn)升級后,判斷當(dāng)前網(wǎng)絡(luò)是否可用:是則執(zhí)行步驟S303;否則執(zhí)行步驟S302 ;
5302、在已安裝應(yīng)用升級列表中標(biāo)記該應(yīng)用未下載,實時檢測網(wǎng)絡(luò)是否可用,等到網(wǎng)絡(luò)可用時再下載升級包;
若該應(yīng)用的升級包未下載成功,則對其標(biāo)記。實時檢測網(wǎng)絡(luò)是否可用,等到網(wǎng)絡(luò)可用時再下載升級包,升級包下載完成后取消標(biāo)記,退出待處理模式。
[0035]S303、根據(jù)最新版本號下載該應(yīng)用的升級包,下載完成后根據(jù)包名查詢該應(yīng)用的使用狀態(tài);
S304、若查詢到該應(yīng)用處于關(guān)閉狀態(tài),則安裝升級包升級該應(yīng)用;若查詢到該應(yīng)用處于運行狀態(tài),則待檢測到應(yīng)用關(guān)閉時再安裝升級包升級該應(yīng)用。
[0036]應(yīng)用的升級包下載完成后,調(diào)用系統(tǒng)接口(即提供一個根據(jù)包名查詢的應(yīng)用狀態(tài)的接口),根據(jù)包名查詢該應(yīng)用的狀態(tài),若應(yīng)用是關(guān)閉狀態(tài),進(jìn)行應(yīng)用升級的操作。若應(yīng)用正在運行,暫時不進(jìn)行升級,告知系統(tǒng)該應(yīng)用升級延后并實時檢測該應(yīng)用是否關(guān)閉。當(dāng)檢測該應(yīng)用關(guān)閉時,系統(tǒng)發(fā)送廣播通知升級模式,此時再安裝升級包升級該應(yīng)用。整個升級過程均在后臺完成,且在應(yīng)用關(guān)閉后升級,不會影響當(dāng)前應(yīng)用程序的使用。等升級成功后,再次打開應(yīng)用程序則為升級后的最新版本。
[0037]需要理解的是,在實時檢測網(wǎng)絡(luò)是否可用,等到網(wǎng)絡(luò)可用時再下載升級包時,無論用戶是退出升級、或退出該應(yīng)用、或關(guān)閉網(wǎng)絡(luò)、或關(guān)機,只要再次檢測到網(wǎng)絡(luò)可用,立即下載升級包。這樣可避免用戶重復(fù)進(jìn)行升級操作,且能自動下載升級。升級包下載后,可按照步驟S303~S304、下載完成后的步驟執(zhí)行升級操作,即根據(jù)包名查詢該應(yīng)用的使用狀態(tài)若查詢應(yīng)用處于關(guān)閉狀態(tài),則安裝升級包升級該應(yīng)用;若查詢應(yīng)用處于運行狀態(tài),則檢測應(yīng)用關(guān)閉時再安裝升級包升級該應(yīng)用。
[0038]基于上述的應(yīng)用程序的升級方法,本發(fā)明還相應(yīng)提供一種實現(xiàn)應(yīng)用程序的升級方法的終端,請一并參閱圖5,所述終端包括檢測獲取模塊10、活動管理器20和升級模塊30,所述檢測獲取模塊10連接活動管理器20和升級模塊30。檢測獲取模塊10檢測到終端網(wǎng)絡(luò)連接后,從云端獲取終端中已安裝應(yīng)用升級列表并存儲。活動管理器20檢測到應(yīng)用啟動時,根據(jù)所述已安裝應(yīng)用升級列表判斷該應(yīng)用是否需要升級;判斷需要升級時提示用戶是否升級。升級模塊30檢測到用戶確認(rèn)升級后進(jìn)行升級操作。
[0039]其中,所述檢測獲取模塊10包括:
檢測單元101,用于在終端開機后,檢測網(wǎng)絡(luò)是否連接;
獲取單元102,用于在網(wǎng)絡(luò)已連接時,獲取終端中已安裝的應(yīng)用列表,同時從應(yīng)用程序商店的云端獲取最新版本應(yīng)用列表;
列表處理單元103,用于將所述已安裝的應(yīng)用列表與最新版本應(yīng)用列表進(jìn)行比對,生