亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

應用程序的故障恢復方法和終端與流程

文檔序號:11949927閱讀:418來源:國知局
應用程序的故障恢復方法和終端與流程

本發(fā)明實施例涉及通信技術領域,尤其涉及一種應用程序的故障恢復方法和終端。



背景技術:

目前運營商定制化開發(fā)的網絡機頂盒不斷打入市場,而定制化開發(fā)的關鍵便是集成某些特定的關鍵應用,如網管(Termination Management,簡稱TM)、點播、直播等。這些關鍵的應用程序(在本專利中稱為白名單應用程序),一方面保證了運營商的利益,同時也為用戶提供了傳統(tǒng)機頂盒更豐富的網絡視頻資源。這些白名單應用程序良好運行狀態(tài)便是用戶體驗的關鍵因素,也是終端產品的核心競爭力。

對于運行在網絡機頂盒或者其他智能終端上的應用程序,或多或少會出現(xiàn)一些異常(Exception),如空指針、緩存溢出(out of memory)、超時(time out)等,因此在開發(fā)該應用程序時,開發(fā)人員會設計一些容錯機制,對應用程序出現(xiàn)的一些異常進行規(guī)避和處理,保證應用程序可以正常運行。

但是,即使程序員在程序開發(fā)過程中考慮了各種異常情況,并盡量對各種異常進行規(guī)避,也往往無法完全模擬真實的使用場景,對于應用程序在一些無法模擬的真實場景下產生的概率性異常,應用程序自身無法進行故障恢復,呈現(xiàn)給用戶的即就是程序跳出或者程序崩潰的情景,用戶的體驗性較差。



技術實現(xiàn)要素:

本發(fā)明實施例提供一種應用程序的故障恢復方法和終端,用以解決現(xiàn)有技術中當應用程序呈現(xiàn)研發(fā)人員未規(guī)避的異常(即概率性異常)時,應用程序直接跳出關閉或者停在當前異常頁面不動,用戶的體驗性較差的技術問題。

第一方面,本發(fā)明實施例提供一種應用程序的故障恢復方法,包括:

在目標Activity組件啟動成功后,保存所述目標Activity組件的第一標識信息和所述第一標識信息對應的intent數(shù)據;其中,所述第一標識信息包括所述目標Activity組件對應的第一應用程序包標識和所述目標Activity組件的標識;

若檢測到所述目標Activity組件對應的應用程序發(fā)生異常,則獲取當前的運行環(huán)境信息,并對所述運行環(huán)境信息進行解析,得到第二標識信息;其中,所述第二標識信息包括發(fā)生異常的第二應用程序包標識和異常的Activity組件標識;

判斷所述第二標識信息和所述第一標識信息是否匹配;

若匹配,則根據所述intent數(shù)據,重新啟動所述目標Activity組件。

在一種可能的實施方式中,所述在目標Activity組件啟動成功后,保存所述目標Activity組件的第一標識信息和所述第一標識信息對應的intent數(shù)據,具體包括:

在啟動所述目標Activity組件后,獲取所述第一應用程序包標識和所述目標Activity組件的標識;

根據所述第一應用程序包標識判斷所述目標Activity組件對應的應用程序是否為白名單應用;

若所述目標Activity組件對應的應用程序為白名單應用,則從Activity棧中獲取最頂層的Activity的標識,并判斷所述最頂層的Activity的標識是否與所述目標Activity組件的標識匹配;

若匹配,則確定所述目標Activity組件啟動成功,并將所述第一標識信息和所述intent數(shù)據保存至數(shù)據庫中。

在另一種可能的實施方式中,所述判斷所述第二標識信息和所述第一標識信息是否匹配,具體包括:

判斷所述第二應用程序包標識是否與所述第一應用程序包標識相同;

判斷所述目標Activity組件的標識和所述異常的Activity組件標識是否相同;

若所述第二應用程序包標識與所述第一應用程序包標識相同、且所述目標Activity組件的標識和所述異常的Activity組件標識相同,則確定所述第二標識信息和所述第一標識信息匹配。

在又一種可能的實施方式中,所述方法還包括:

若所述目標Activity組件正常退出,刪除數(shù)據庫中所保存的所述目標Activity組件對應的intent數(shù)據和所述第一標識信息。

在另一種可能的實施方式中,所述方法還包括:

保存所述目標Activity組件對應的應用程序的異常信息。

在另一種可能的實施方式中,所述方法還包括:

在重新啟動所述目標Activity組件時,向用戶輸出提示信息;所述提示信息用于提示用戶正在重新加載頁面。

第二方面,本發(fā)明實施例提供一種終端,包括:

存儲模塊,用于在目標Activity組件啟動成功后,保存所述目標Activity組件的第一標識信息和所述第一標識信息對應的intent數(shù)據;其中,所述第一標識信息包括所述目標Activity組件對應的第一應用程序包標識和所述目標Activity組件的標識;

獲取模塊,用于在檢測到所述目標Activity組件對應的應用程序發(fā)生異常時,獲取當前的運行環(huán)境信息,并對所述運行環(huán)境信息進行解析,得到第二標識信息;其中,所述第二標識信息包括發(fā)生異常的第二應用程序包標識和異常的Activity組件標識;

判斷模塊,用于判斷所述第二標識信息和所述第一標識信息是否匹配;

處理模塊,用于在所述判斷模塊判斷第二標識信息和所述第一標識信息匹配時,根據所述intent數(shù)據,重新啟動所述目標Activity組件。

在另一種可能的實施方式中,所述存儲模塊,具體包括:

獲取單元,用于在啟動所述目標Activity組件后,獲取所述第一應用程序包標識和所述目標Activity組件的標識;

第一判斷單元,用于根據所述第一應用程序包標識判斷所述目標Activity組件對應的應用程序是否為白名單應用;

第二判斷單元,用于在所述第一判斷單元所述目標Activity組件對應的應用程序為白名單應用時,從Activity棧中獲取最頂層的Activity的標識,并判斷所述最頂層的Activity的標識是否與所述目標Activity組件的標識匹配;

保存單元,用于在所述第二判斷單元判斷所述最頂層的Activity的標識與所述目標Activity組件的標識匹配時,確定所述目標Activity組件啟動成功,并將所述第一標識信息和所述intent數(shù)據保存至數(shù)據庫中。

在又一種可能的實施方式中,所述判斷模塊,具體用于判斷所述第二應用程序包標識是否與所述第一應用程序包標識相同,以及判斷所述目標Activity組件的標識和所述異常的Activity組件標識是否相同,并在判斷所述第二應用程序包標識與所述第一應用程序包標識相同、且所述目標Activity組件的標識和所述異常的Activity組件標識相同時,確定所述第二標識信息和所述第一標識信息匹配。

在另一種可能的實施方式中,所述處理模塊,還用于在所述目標Activity組件正常退出時,刪除數(shù)據庫中所保存的所述目標Activity組件對應的intent數(shù)據和所述第一標識信息。

在另一種可能的實施方式中,所述存儲模塊,還用于保存所述目標Activity組件對應的應用程序的異常信息。

在又一種可能的實施方式中,所述處理模塊,還用于在重新啟動所述目標Activity組件時,向用戶輸出提示信息;所述提示信息用于提示用戶正在重新加載頁面。

本發(fā)明實施例提供的應用程序的故障恢復方法和終端,通過在目標Activity組件啟動成功后,保存該目標Activity組件的第一標識信息和該第一標識信息對應的intent數(shù)據,并在檢測到所述目標Activity組件對應的應用程序發(fā)生異常時,獲取并解析當前的運行環(huán)境信息,得到第二標識信息,進而在判斷第二標識信息和第一標識信息匹配時,通過保存的intent數(shù)據重新啟動目標Activity組件,從而使得終端可以重新加載該目標Activity組件,以通過重新加載來克服該概率性異常,避免了現(xiàn)有技術中應用程序發(fā)生概率性異常時,直接跳出關閉或者停在當前異常頁面不動的現(xiàn)象發(fā)生,大大提高了用戶的體驗效果。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的應用程序的故障恢復方法實施例一的流程示意圖;

圖2為本發(fā)明實施例提供的應用程序的故障恢復方法實施例二的流程示意圖;

圖3為本發(fā)明實施例提供的應用程序的故障恢復方法實施例三的流程示意圖;

圖4為本發(fā)明實施例提供的應用程序的故障恢復方法實施例四的流程示意圖;

圖5為本發(fā)明實施例提供的終端實施例一的流程示意圖;

圖6為本發(fā)明實施例提供的終端實施例二的流程示意圖。

具體實施方式

為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例所涉及的終端,可以是電視、網絡機頂盒、手機、智能空調、平板電腦等任一能夠運行應用程序的終端,本發(fā)明實施例對終端的形式并不做限制。

本發(fā)明實施例涉及的應用程序,可以是運行在Android(安卓)系統(tǒng)上的應用程序,該應用程序可以簡稱為APK,其一般由一個或多個程序組件組成,即Activity組件(也可以稱為頁面組件)、Service組件、BroadcastRecieve組件、ContentProvier組件等。其中,Activity組件即為呈現(xiàn)給用戶的頁面。

以啟動Activity組件為例,Android系統(tǒng)一般在啟動一個應用程序(APK)的Activity組件時(例如當前呈現(xiàn)的Activity組件想要打開另一個Activity組件),其主要是通過intent請求(即該intent請求即為傳遞意圖的請求,可以稱為意圖請求)來傳遞意圖。因此,當前呈現(xiàn)的Activity組件會將intent請求傳遞給Android系統(tǒng),Android系統(tǒng)的包管理服務程序(PackageManager)在接收到該intent請求后,會根據該intent請求和每個待啟動的Activity組件的intentFilter進行匹配,由于該intentFilter可以表征一個待啟動的Activity組件當前可以處理哪種類型的intent請求,因此,PackageManager就可以根據每個待啟動的Activity組件的intentFilter確定出能夠處理該intent請求的目標Activity組件,然后將該intent請求傳遞給目標Activity組件,從而啟動目標Activity組件。

當啟動了目標Activity組件之后,該目標Activity組件上可以包括多個功能,當其中的一個或者多個功能故障時,或者當從目標Activity組件跳轉至另一Activity組件故障時,如果開發(fā)人員未對這些故障場景設置相應的容錯機制,即該目標Activity組件對應的應用程序自身無法進行主動修復,則該應用程序就會直接跳出關閉或者停在當前異常頁面不動,用戶的體驗性較差。

因此,本發(fā)明實施例提供的應用程序的故障恢復方法和終端,旨在解決現(xiàn)有技術中當應用程序呈現(xiàn)研發(fā)人員未規(guī)避的異常(即概率性異常)時,應用程序直接跳出關閉或者停在當前異常頁面不動,用戶的體驗性較差的技術問題。

下面以具體地實施例對本發(fā)明的技術方案進行詳細說明。下面這幾個具體的實施例可以相互結合,對于相同或相似的概念或過程可能在某些實施例不再贅述。

圖1為本發(fā)明實施例提供的應用程序的故障恢復方法實施例一的流程示意圖。本實施例涉及的是通過保存正常啟動的目標Activity組件(該目標Activity組件可以稱為目標頁面組件或者目標活動組件)的第一標識信息和intent數(shù)據,在目標Activity組件對應的應用程序發(fā)生異常時,通過根據所保存的第一標識信息和intent數(shù)據(該intent數(shù)據可以稱為意圖數(shù)據),重新啟動目標Activity組件,以使得應用程序發(fā)生異常時,應用程序可以會退到故障前的頁面的具體過程。如圖1所示,該方法可以包括:

S101:在目標Activity組件啟動成功后,保存所述目標Activity組件的第一標識信息和所述第一標識信息對應的intent數(shù)據。

其中,所述第一標識信息包括所述目標Activity組件對應的第一應用程序包標識和所述目標Activity組件的標識。

具體的,當目標Activity組件根據所傳遞的intent請求啟動成功后,終端可以保存該目標Activity組件的第一標識信息和該第一標識信息對應的intent數(shù)據,該intent數(shù)據可以為extra數(shù)據,還可以為action數(shù)據,還可以為extra數(shù)據和action數(shù)據。

可選的,上述intent請求可以包括目標Activity組件對應的第一應用程序包標識(packagename)、目標Activity組件的標識(activityname)、extra數(shù)據和action數(shù)據;可選的,該intent請求也可以單獨包括extra數(shù)據和action數(shù)據,本實施例對intent請求中包括的具體內容并不做限定。

當intent請求包括目標Activity組件對應的第一應用程序包標識(packagename)、目標Activity組件的標識(activityname)、extra數(shù)據和action數(shù)據時,終端可以通過解析該intent請求獲得第一標識信息和intent數(shù)據;當intent請求僅包括extra數(shù)據和action數(shù)據時,終端可以在啟動目標Activity組件之后,通過該目標Activity組件獲得第一標識信息,通過intent請求獲得intent數(shù)據。

S102:若檢測到所述目標Activity組件對應的應用程序發(fā)生異常,則獲取當前的運行環(huán)境信息,并對所述運行環(huán)境信息進行解析,得到第二標識信息。

其中,所述第二標識信息包括發(fā)生異常的第二應用程序包標識和異常的Activity組件標識。

具體的,當目標Activity組件啟動成功并保存該目標Activity組件的第一標識信息和第一標識信息對應的intent數(shù)據之后,如果終端檢測到該目標Activity組件對應的應用程序發(fā)生異常時(該異常為應用程序無法自身修復的概率性異常),例如啟動的目標Activity組件呈現(xiàn)給用戶的某些功能不可用,或者由該目標Activity組件跳轉至另一Activity組件時異常,終端可以獲取當前應用程序的運行環(huán)境信息,并對其進行解析,得到第二標識信息,即獲得發(fā)生異常的第二應用程序包標識和異常的Activity組件標識。需要說明的是,上述運行環(huán)境信息記錄了整個應用程序在運行時的過程信息,同時也包括當前應用程序在發(fā)生異常時的異常信息。該運行環(huán)境信息可以以文件的形式存在,當應用程序異常時,系統(tǒng)可以調用該文件獲取當前的運行環(huán)境信息,例如,其可以是log文件的形式存在,本發(fā)明對當前運行環(huán)境信息的存儲形式并不做限定。

S103:判斷所述第二標識信息和所述第一標識信息是否匹配。

S104:若匹配,則根據所述intent數(shù)據,重新啟動所述目標Activity組件。

具體的,當判斷上述第二標識信息和所述第一標識信息匹配時,說明終端之前保存了目標Activity組件的記錄,因此,終端可以再次拉起intent請求,并將之前保存的intent數(shù)據重新攜帶在intent請求中傳遞給Android系統(tǒng),從而使得Android系統(tǒng)在此根據intent請求發(fā)起啟動上述目標Activity組件的流程,從而重新啟動目標Activity組件。也就是說,當?shù)谝淮螁幽繕薃ctivity組件時,若該應用程序發(fā)生概率性異常時,終端可以通過之前保存的第一標識信息和intent數(shù)據重新加載該目標Activity組件,以通過重新加載來克服該概率性異常,避免了現(xiàn)有技術中當應用程序出現(xiàn)異常時,由于Android系統(tǒng)對于應用程序正常運行的環(huán)境并沒有任何記錄,從而使得應用程序直接跳出關閉或者停在當前異常頁面不動的現(xiàn)象發(fā)生,從而大大提高了用戶的體驗效果。

本發(fā)明實施例提供的應用程序的故障恢復方法,通過在目標Activity組件啟動成功后,保存該目標Activity組件的第一標識信息和該第一標識信息對應的intent數(shù)據,并在檢測到所述目標Activity組件對應的應用程序發(fā)生異常時,獲取并解析當前的運行環(huán)境信息,得到第二標識信息,進而在判斷第二標識信息和第一標識信息匹配時,通過保存的intent數(shù)據重新啟動目標Activity組件,從而使得終端可以重新加載該目標Activity組件,以通過重新加載來克服該概率性異常,避免了現(xiàn)有技術中應用程序發(fā)生概率性異常時,直接跳出關閉或者停在當前異常頁面不動的現(xiàn)象發(fā)生,大大提高了用戶的體驗效果。

可選的,上述終端判斷第二標識信息和所述第一標識信息是否匹配,可以參見圖2所示的實施例二的流程示意圖。如圖2所示,在上述實施例的基礎上,進一步地,上述S103具體可以包括:

S201:判斷所述第二應用程序包標識是否與所述第一應用程序包標識相同。

S202:判斷所述目標Activity組件的標識和所述異常的Activity組件標識是否相同。

S203:若所述第二應用程序包標識與所述第一應用程序包標識相同、且所述目標Activity組件的標識和所述異常的Activity組件標識相同,則確定所述第二標識信息和所述第一標識信息匹配。

具體的,當?shù)诙贸绦虬鼧俗R與第一應用程序包標識相同、且目標Activity組件的標識和上述異常的Activity組件標識相同,說明終端之前保存了目標Activity組件的記錄,因此,終端可以再次拉起intent請求,即從數(shù)據庫中獲取該第一標識信息對應的intent數(shù)據,以重新啟動上述目標Activity組件??蛇x的,本發(fā)明實施例對上述S201和S202的執(zhí)行順序并不做限定,二者可以同時執(zhí)行,也可以是S201在S202之前執(zhí)行,或者S202在S201之前執(zhí)行。

圖3為本發(fā)明實施例提供的應用程序的故障恢復方法實施例三的流程示意圖。由于Android系統(tǒng)是一個開源的系統(tǒng),用戶可以輕松實現(xiàn)各類應用的自安裝,但如果對于所有的APK都采用故障恢復方法,有可能會引入其它問題,因為一些非官方的APK可能未進行任何的驗證,問題較多。所以,為規(guī)避這種問題,終端內部設置了一些系統(tǒng)關鍵應用,即白名單應用,并將白名單應用的應用程序包的標識記錄在數(shù)據庫中,從而使得終端僅對白名單應用發(fā)生異常時,執(zhí)行故障恢復流程。即,在上述實施例的基礎上,進一步地,上述S101具體可以包括:

S301:在啟動所述目標Activity組件后,獲取所述第一應用程序包標識和所述目標Activity組件的標識。

S302:根據所述第一應用程序包標識判斷所述目標Activity組件對應的應用程序是否為白名單應用。

S303:若所述目標Activity組件對應的應用程序為白名單應用,則從Activity棧中獲取最頂層的Activity的標識,并判斷所述最頂層的Activity的標識是否與所述目標Activity組件的標識匹配。

S304:若匹配,則確定所述目標Activity組件啟動成功,并將所述第一標識信息和所述intent數(shù)據保存至數(shù)據庫中。

具體的,當目標Activity組件根據所傳遞的intent請求進行啟動后(這里不一定啟動成功),終端就可以是獲得該目標Activity組件的第一應用程序包標識和該目標Activity組件的標識;之后,終端可以預先記錄當前的啟動環(huán)境信息,即記錄目標Activity組件接收到的intent請求,然后終端判斷第一應用程序包標識是否與數(shù)據庫中保存的白名單應用的應用程序包標識相同,如果相同,則表明當前目標Activity組件對應的應用程序為白名單應用;進一步地,當終端確定當前目標Activity組件對應的應用程序為白名單應用時,終端可以讀取Activity棧的Activity列表,獲得Activity棧的最頂層的Activity的標識,并判斷最頂層的Activity的標識是否與上述目標Activity組件的標識匹配,如果匹配,則表明上述目標Activity組件啟動成功,終端可以讀取之前記錄的intent請求,從而將第一標識信息和intent數(shù)據保存在數(shù)據庫中。可選的,在保存時,可以是以數(shù)據庫文件的形式進行保存,即將第一標識信息作為關鍵字(或者索引),例如com.hisense.test/com.hisense.test.mainActivity,將intent數(shù)據作為該關鍵字所指向的值。

可選的,如果保存第一標識信息和intent數(shù)據之后,目標Activity組件正常退出,例如用戶選擇退出當前目標Activity組件的頁面,則終端可以再次查詢數(shù)據庫,通過目標Activity組件的第一標識信息判斷數(shù)據庫中是否保存了該目標Activity組件的記錄(即intent數(shù)據和第一標識信息),如果確定數(shù)據庫中保存了該目標Activity組件的記錄,則將該記錄從數(shù)據庫中刪除,從而可以避免緩存溢出,大大提高了緩存效率。

可選的,當重新啟動上述目標Activity組件的過程中,可以向用戶輸出提示信息,該所述提示信息用于提示用戶正在重新加載頁面,可選的,該提示信息可以是語音信息,還可以是圖片信息,還可以是文字信息,例如,在頁面提示“正在重新加載中”的信息,從而為用戶提供較好的體驗。

可選的,當檢測到上述目標Activity組件對應的應用程序發(fā)生異常時,終端可以保存在異常信息,即將該異常信息寫入日志文件中,不僅如此,終端還可以將發(fā)生異常的時間、運行該應用程序的設備(即終端)的網絡互連協(xié)議(IP)地址、運行該應用程序的設備的MAC地址、該設備的產品型號、該設備上的Rom版本,以及該應用程序的版本信息寫入日志文件(該日志文件中的內容可以時間+MAC地址命令的形式進行保存),從而方便開發(fā)人員能夠根據該日志文件進行故障定位,徹底解決安全隱患??蛇x的,終端還可以將該異常信息上傳至網絡服務器,從而為解決該概率性異常提供更大的解決接口,進一步減少了該概率性異常的解決周期,提高了解決效率。

圖4為本發(fā)明實施例提供的應用程序的故障恢復方法實施例四的流程示意圖。本實施例涉及的是在應用程序發(fā)生概率性異常時,終端重新啟動目標Activity組件的具體過程。如圖4所示,該方法具體可以包括如下步驟:

S401:Android系統(tǒng)在獲取到intent請求后,將該intent請求傳遞給多個待啟動的Activity組件。

S402:Android系統(tǒng)根據每個待啟動的Activity組件的intentFilter和上述intent請求,確定目標Activity組件。

S403:Android系統(tǒng)將上述intent請求傳遞給目標Activity組件,以啟動目標Activity組件。

S404:在啟動目標Activity組件后,獲取目標Activity組件的第一標識信息,即獲取目標Activity組件對應的第一應用程序包標識和所述目標Activity組件的標識。

S405:根據所述第一應用程序包標識判斷所述目標Activity組件對應的應用程序是否為白名單應用。

S406:若所述目標Activity組件對應的應用程序為白名單應用,則記錄當前的啟動環(huán)境信息,即記錄目標Activity組件的第一標識信息和intent數(shù)據。

S407:從Activity棧中獲取最頂層的Activity的標識,并判斷所述最頂層的Activity的標識是否與所述目標Activity組件的標識匹配。

S408:若匹配,則確定所述目標Activity組件啟動成功,并將所述第一標識信息和所述intent數(shù)據保存至數(shù)據庫中。

S409:若目標Activity組件正常退出,則刪除數(shù)據庫中所保存的所述目標Activity組件對應的intent數(shù)據和所述第一標識信息。

S410:若檢測到所述目標Activity組件對應的應用程序發(fā)生異常,則獲取當前的運行環(huán)境信息,并對所述運行環(huán)境信息進行解析,得到第二標識信息。

其中,所述第二標識信息包括發(fā)生異常的第二應用程序包標識和異常的Activity組件標識。

S411:判斷所述第二標識信息和所述第一標識信息是否匹配。

S412:若匹配,則根據所述intent數(shù)據,重新啟動所述目標Activity組件。

S413:在重新啟動所述目標Activity組件時,向用戶輸出提示信息;所述提示信息用于提示用戶正在重新加載頁面。

S414:保存所述目標Activity組件對應的應用程序的異常信息。

具體的,上述S401至S414的具體過程可以參見上述幾個實施例的具體描述,在此不再贅述。

需要說明的是,上述S409與S410至S414之間并沒有時序關系的限定,上述S413和S414也沒有時序關系的限定。

本領域普通技術人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。

圖5為本發(fā)明實施例提供的終端實施例一的流程示意圖。如圖5所示,該終端可以包括:存儲模塊10、獲取模塊11、判斷模塊12和處理模塊13。

具體的,存儲模塊10,用于在目標Activity組件啟動成功后,保存所述目標Activity組件的第一標識信息和所述第一標識信息對應的intent數(shù)據;其中,所述第一標識信息包括所述目標Activity組件對應的第一應用程序包標識和所述目標Activity組件的標識;

獲取模塊11,用于在檢測到所述目標Activity組件對應的應用程序發(fā)生異常時,獲取當前的運行環(huán)境信息,并對所述運行環(huán)境信息進行解析,得到第二標識信息;其中,所述第二標識信息包括發(fā)生異常的第二應用程序包標識和異常的Activity組件標識;

判斷模塊12,用于判斷所述第二標識信息和所述第一標識信息是否匹配;

處理模塊13,用于在所述判斷模塊12判斷第二標識信息和所述第一標識信息匹配時,根據所述intent數(shù)據,重新啟動所述目標Activity組件。

本發(fā)明實施例提供的終端,可以執(zhí)行上述所示的方法實施例,其實現(xiàn)原理和技術效果類似,在此不再贅述。

圖6為本發(fā)明實施例提供的終端實施例二的流程示意圖。在上述實施例的基礎上,進一步地,上述存儲模塊10,具體包括:獲取單元101、第一判斷單元102、第二判斷單元103和保存單元104。

具體的,獲取單元101,用于在啟動所述目標Activity組件后,獲取所述第一應用程序包標識和所述目標Activity組件的標識;

第一判斷單元102,用于根據所述第一應用程序包標識判斷所述目標Activity組件對應的應用程序是否為白名單應用;

第二判斷單元103,用于在所述第一判斷單元102所述目標Activity組件對應的應用程序為白名單應用時,從Activity棧中獲取最頂層的Activity的標識,并判斷所述最頂層的Activity的標識是否與所述目標Activity組件的標識匹配;

保存單元104,用于在所述第二判斷單元103判斷所述最頂層的Activity的標識與所述目標Activity組件的標識匹配時,確定所述目標Activity組件啟動成功,并將所述第一標識信息和所述intent數(shù)據保存至數(shù)據庫中。

進一步地,上述判斷模塊12,具體用于判斷所述第二應用程序包標識是否與所述第一應用程序包標識相同,以及判斷所述目標Activity組件的標識和所述異常的Activity組件標識是否相同,并在判斷所述第二應用程序包標識與所述第一應用程序包標識相同、且所述目標Activity組件的標識和所述異常的Activity組件標識相同時,確定所述第二標識信息和所述第一標識信息匹配。

可選的,上述處理模塊13,還用于在所述目標Activity組件正常退出時,刪除數(shù)據庫中所保存的所述目標Activity組件對應的intent數(shù)據和所述第一標識信息。

可選的,上述存儲模塊10,還可以用于保存所述目標Activity組件對應的應用程序的異常信息。

可選的,上述處理模塊13,還可以用于在重新啟動所述目標Activity組件時,向用戶輸出提示信息;所述提示信息用于提示用戶正在重新加載頁面。

本發(fā)明實施例提供的終端,可以執(zhí)行上述所示的方法實施例,其實現(xiàn)原理和技術效果類似,在此不再贅述。

最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1