本發(fā)明實施例涉及電子設(shè)備應(yīng)用技術(shù),尤其涉及一種自動切換默認(rèn)Launcher的方法、裝置及終端。
背景技術(shù):
安卓是一種基于Linux的開放源代碼的操作系統(tǒng),主要用于手機(jī)、平板電腦、電視或手表等智能終端。在安卓系統(tǒng)中,主要包括操作系統(tǒng)、中間件、用戶界面和應(yīng)用程序。
其中,Launcher(桌面啟動器)應(yīng)用程序,是安卓系統(tǒng)加載完畢后第一個啟動的應(yīng)用程序,其負(fù)責(zé)處理和響應(yīng)除應(yīng)用本身操作外的所有操作,例如包括提供操作界面(即桌面)、響應(yīng)于點(diǎn)擊桌面上的應(yīng)用程序圖標(biāo)而啟動應(yīng)用程序和設(shè)置壁紙等等。在系統(tǒng)運(yùn)行Launcher應(yīng)用程序的安卓安裝包(AndroidPackage,APK)之后,完成系統(tǒng)開機(jī)。在實際應(yīng)用中,開發(fā)者或用戶會根據(jù)自身需求定制Launcher,并將定制的Launcher應(yīng)用程序設(shè)置為默認(rèn)Launcher,從而在開機(jī)后自動啟動定制的Launcher。
然而,當(dāng)定制Launcher應(yīng)用程序出現(xiàn)持續(xù)崩潰后,用戶將反復(fù)看到Launcher應(yīng)用崩潰的提示,如持續(xù)出現(xiàn)“進(jìn)程com.android.launcher意外停止”的提示窗口,且用戶無法繼續(xù)使用該智能終端,降低用戶體驗。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種自動切換默認(rèn)Launcher的方法、裝置及終端,以解決在默認(rèn)Launcher出現(xiàn)持續(xù)崩潰后,用戶無法繼續(xù)使用該智能終端的問題,提高用戶體驗。
第一方面,本發(fā)明實施例提供了一種自動切換默認(rèn)Launcher的方法,該方法包括:
在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為所述智能終端開機(jī)啟動的默認(rèn)Launcher;
確定所述默認(rèn)Launcher運(yùn)行過程中的異常次數(shù);
若所述異常次數(shù)超過預(yù)設(shè)閾值,則切換所述默認(rèn)Launcher對應(yīng)的Launcher。
第二方面,本發(fā)明實施例還提供了一種自動切換默認(rèn)Launcher的裝置,該裝置包括:
Launcher內(nèi)置模塊,用于在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為所述智能終端開機(jī)啟動的默認(rèn)Launcher;
次數(shù)確定模塊,用于確定所述默認(rèn)Launcher運(yùn)行過程中的異常次數(shù);
Launcher切換模塊,用于若所述異常次數(shù)超過預(yù)設(shè)閾值,則切換所述默認(rèn)Launcher對應(yīng)的Launcher。
第三方面,本發(fā)明實施例還提供了一種終端,包括第二方面所示的自動切換默認(rèn)Launcher的裝置。
本發(fā)明通過在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為智能終端開機(jī)啟動的默認(rèn)Launcher;確定默認(rèn)Launcher運(yùn)行過程中的異常次數(shù);若異常次數(shù)超過預(yù)設(shè)閾值,則切換默認(rèn)Launcher對應(yīng)的Launcher。實現(xiàn)在智能終端中存在多個Launcher的情況下,當(dāng)默認(rèn)Launcher發(fā)生持續(xù)崩潰時,自動切換默認(rèn)Launcher對應(yīng)的Launcher,保證默認(rèn)Launcher崩潰之后智能終端能夠繼續(xù)使用,提高用戶體驗。
附圖說明
圖1為本發(fā)明實施例一中的一種自動切換默認(rèn)Launcher的方法的流程圖;
圖2是本發(fā)明實施例二中的一種自動切換默認(rèn)Launcher的方法的流程圖;
圖3是本發(fā)明實施例三中的一種自動切換默認(rèn)Launcher的方法的流程圖;
圖4是本發(fā)明實施例四中的一種自動切換默認(rèn)Launcher的裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
實施例一
圖1為本發(fā)明實施例一提供的一種自動切換默認(rèn)Launcher的方法的流程圖,本實施例可適用于解決智能終端中默認(rèn)Launcher發(fā)生持續(xù)崩潰情況,該方法可以由自動切換默認(rèn)Launcher的裝置來執(zhí)行,該裝置可以采用軟件和/或硬件的方式實現(xiàn),并一般可集成在手機(jī)或平板電腦等智能終端中。參見圖1,本實施例提供的方法具體包括如下步驟:
步驟101、在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為智能終端開機(jī)啟動的默認(rèn)Launcher。
其中,在智能終端中內(nèi)置至少兩個桌面啟動器Launcher的方式有很多,本發(fā)明對此不作限定。如為了滿足自身的需求,開發(fā)者或運(yùn)營商會研發(fā)定制Launcher,并在智能終端出廠前將定制Launcher以及系統(tǒng)自帶Launcher安裝于智能終端內(nèi)。又如,用戶還可根據(jù)自身需求,自行在智能終端中安裝Launcher。
在智能終端出廠前,會設(shè)置智能終端開機(jī)啟動的默認(rèn)Launcher以在系統(tǒng)開機(jī)后啟動默認(rèn)Launcher,使得用戶在默認(rèn)Launcher中對智能終端進(jìn)行操作。優(yōu)選將定制Launcher設(shè)置為智能終端開機(jī)啟動的默認(rèn)Launcher,從而在系統(tǒng)開機(jī)啟動后,系統(tǒng)自行運(yùn)行定制Launcher,為用戶展示定制Launcher。用戶還可在系統(tǒng)開機(jī)后,在設(shè)置界面自行設(shè)置智能終端開機(jī)啟動的默認(rèn)Launcher,如用戶進(jìn)入設(shè)置界面后,彈出列有內(nèi)置的Launcher的列表,將用戶在列表中選擇的Launcher設(shè)置為智能終端開機(jī)啟動的默認(rèn)Launcher。
步驟102、確定默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)。
當(dāng)默認(rèn)Launcher運(yùn)行過程中出現(xiàn)異常后,智能終端界面會彈出運(yùn)行崩潰的提示窗口,并需重新啟動默認(rèn)Launcher。然而當(dāng)默認(rèn)Launcher運(yùn)行過程中出現(xiàn)持續(xù)崩潰時,重新啟動默認(rèn)Launcher,無法解決持續(xù)崩潰問題,用戶將反復(fù)看到彈出的運(yùn)行崩潰的提示窗口。由于Launcher為系統(tǒng)開機(jī)后運(yùn)行的第一個程序,是其它應(yīng)用程序的入口,因此在默認(rèn)Launcher出現(xiàn)持續(xù)崩潰后,用戶將無法繼續(xù)對該智能終端進(jìn)行操作。
本發(fā)明在系統(tǒng)開機(jī)后,通過統(tǒng)計系統(tǒng)開機(jī)后默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)以檢測默認(rèn)Launcher是否出現(xiàn)持續(xù)崩潰。
步驟103、若異常次數(shù)超過預(yù)設(shè)閾值,則切換默認(rèn)Launcher對應(yīng)的Launcher。
如果確定默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)超過預(yù)設(shè)閾值,則確定默認(rèn)Launcher出現(xiàn)持續(xù)崩潰,切換默認(rèn)Launcher對應(yīng)的Launcher,啟動切換后的默認(rèn)Launcher對應(yīng)的Launcher,則用戶可在切換后的默認(rèn)Launcher對應(yīng)的Launcher中對智能終端中的其它應(yīng)用程序進(jìn)行操作,保證默認(rèn)Launcher崩潰之后智能終端能夠繼續(xù)使用。
示例性的,可在每隔一定時間間隔后,若異常次數(shù)未超過預(yù)設(shè)閾值則將異常次數(shù)清零,以防在系統(tǒng)開機(jī)后,對默認(rèn)Launcher的異常次數(shù)持續(xù)累加導(dǎo)致誤檢測默認(rèn)Launcher出現(xiàn)持續(xù)崩潰。
本實施例的技術(shù)方案,通過在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為智能終端開機(jī)啟動的默認(rèn)Launcher;確定默認(rèn)Launcher運(yùn)行過程中的異常次數(shù);若異常次數(shù)超過預(yù)設(shè)閾值,則切換默認(rèn)Launcher對應(yīng)的Launcher。實現(xiàn)在智能終端中存在多個Launcher的情況下,當(dāng)默認(rèn)Launcher發(fā)生持續(xù)崩潰時,自動切換默認(rèn)Launcher對應(yīng)的Launcher,保證默認(rèn)Launcher崩潰之后智能終端能夠繼續(xù)使用,提高用戶體驗。
實施例二
圖2為本發(fā)明實施例二提供的一種自動切換默認(rèn)Launcher的方法的流程圖,本實施例為對上述實施例的進(jìn)一步優(yōu)化。參見圖2,本實施提供的方法具體包括:
步驟201、在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為所述智能終端開機(jī)啟動的默認(rèn)Launcher;
步驟202、獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本;
在安卓系統(tǒng)中,每個應(yīng)用程序運(yùn)行異常時,都會拋出異常,并可打印異常信息到日志文件中,從而可通過查看日志文件中保存的日志信息,確定異常出現(xiàn)的位置和異常的問題。
本發(fā)明在系統(tǒng)啟動后,自動獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本。
優(yōu)選的,按照預(yù)設(shè)時間間隔,依次獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本。示例性的,第一預(yù)設(shè)長度為50行,預(yù)設(shè)時間間隔為1000毫秒。則在系統(tǒng)啟動后,首先獲取日志文件中1-50行的日志信息,得到日志信息取樣標(biāo)本,并記錄此次日志信息取樣標(biāo)本中日志信息的最后一行在日志文件中的行數(shù),即50,在相隔預(yù)設(shè)時間間隔1000毫秒后,從記錄的下一行開始,獲取日志文件中51-100行的日志信息,再次得到日志信息取樣標(biāo)本。
步驟203、判斷日志信息取樣標(biāo)本中是否包括當(dāng)前的默認(rèn)Launcher的異常信息,若是,執(zhí)行步驟204,否則,執(zhí)行步驟202。
在獲得日志信息取樣標(biāo)本后,檢測日志信息取樣標(biāo)本中的日志信息是否包括當(dāng)前的默認(rèn)Launcher的異常信息,從而確定默認(rèn)Launcher是否運(yùn)行異常。如果日志信息取樣標(biāo)本中包括當(dāng)前的默認(rèn)Launcher的異常信息,則確定默認(rèn)Launcher運(yùn)行異常,否則,按照預(yù)設(shè)時間間隔定時獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本,統(tǒng)計默認(rèn)Launcher運(yùn)行過程中的異常次數(shù),持續(xù)檢測默認(rèn)Launcher是否發(fā)生持續(xù)崩潰。
步驟204、根據(jù)默認(rèn)Launcher的異常信息對默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)累加。
如果日志信息取樣標(biāo)本中包括默認(rèn)Launcher的異常信息,則確定默認(rèn)Launcher運(yùn)行異常,根據(jù)得到的默認(rèn)Launcher的異常信息對默認(rèn)Launcher的異常次數(shù)累加,統(tǒng)計默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)。
205、判斷異常次數(shù)是否超過預(yù)設(shè)閾值,若是,執(zhí)行步驟206,否則,執(zhí)行步驟202。
如果異常次數(shù)超過預(yù)設(shè)閾值,則確定默認(rèn)Launcher處于持續(xù)崩潰狀態(tài),切換默認(rèn)Launcher對應(yīng)的Launcher;如果異常次數(shù)未超過預(yù)設(shè)閾值,則按照預(yù)設(shè)時間間隔定時獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本,持續(xù)檢測默認(rèn)Launcher是否發(fā)生持續(xù)崩潰。
步驟206、切換默認(rèn)Launcher對應(yīng)的Launcher。
本實施例的技術(shù)方案通過獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本,判斷日志信息取樣標(biāo)本中是否包括默認(rèn)Launcher的異常信息,若包括默認(rèn)Launcher的異常信息,根據(jù)默認(rèn)Launcher的異常信息對默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)累加。實現(xiàn)根據(jù)日志文件中的日志信息實時統(tǒng)計默認(rèn)Launcher運(yùn)行過程中的異常次數(shù),從而持續(xù)檢測默認(rèn)Launcher是否處于持續(xù)崩潰狀態(tài)。
實施例三
圖3為本發(fā)明實施例三提供的一種自動切換默認(rèn)Launcher的方法的流程圖,本實施例為對上述實施例的進(jìn)一步優(yōu)化。參見圖3,本實施提供的方法具體包括:
步驟301、在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為所述智能終端開機(jī)啟動的默認(rèn)Launcher。
步驟302、獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本。
步驟303、判斷日志信息取樣標(biāo)本中是否包括Exception字段,若是,執(zhí)行步驟304,否則,執(zhí)行步驟302。
若應(yīng)用程序運(yùn)行異常,打印的異常信息均會包括Exception字段,因此,可通過檢測日志信息取樣標(biāo)本中是否包括Exception字段,確定日志信息取樣標(biāo)本中的日志信息是否包括異常信息。
如由于日志信息為String類型數(shù)據(jù),因此可調(diào)用安卓軟件開發(fā)工具包(Android Software Development Kit,Android SDK)中的String類的對比接口public Boolean contains(String input),輸入?yún)?shù)Exception,若返回值為true,則確定日志信息取樣標(biāo)本中的日志信息包括異常信息。
步驟304、判斷日志信息取樣標(biāo)本中包括Exception字段的第二預(yù)設(shè)長度的日志信息是否包括當(dāng)前的默認(rèn)Launcher的包名,若是,執(zhí)行步驟305,否則,執(zhí)行步驟302。
在檢測到日志信息取樣標(biāo)本中的日志信息包括Exception字段,確定日志信息取樣標(biāo)本中的日志信息包括異常信息后,可通過檢測日志信息取樣標(biāo)本中包括Exception字段的第二預(yù)設(shè)長度的日志信息是否包括當(dāng)前的默認(rèn)Launcher的包名來確定日志信息取樣標(biāo)本中包括的異常信息是否為默認(rèn)Launcher的異常信息。如檢測到日志信息取樣標(biāo)本中包括2個Exception字段,則分別獲取日志信息取樣標(biāo)本中2個Exception字段所在行及所在行的上10行和下10行的日志信息,并檢測獲取的Exception字段所在行及所在行的上10行和下10行的日志信息是否包括當(dāng)前的默認(rèn)Launcher的包名(Package Name),若包括當(dāng)前默認(rèn)Launcher的包名,則說明該Exception為默認(rèn)Launcher拋出的異常,若不包括當(dāng)前默認(rèn)Launcher的包名,則說明該Exception不是默認(rèn)Launcher拋出的異常,則繼續(xù)獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本,持續(xù)檢測默認(rèn)Launcher是否發(fā)生持續(xù)崩潰。
步驟305、將日志信息取樣標(biāo)本中包括默認(rèn)Launcher的包名的Exception字段的第三預(yù)設(shè)長度的日志信息緩存。
優(yōu)選的,若日志信息取樣標(biāo)本中包括Exception字段的第二預(yù)設(shè)長度的日志信息中包括當(dāng)前默認(rèn)Launcher的包名,說明該Exception為默認(rèn)Launcher拋出的異常,則將該Exception字段的第三預(yù)設(shè)長度的日志信息緩存,從而保存默認(rèn)Launcher的異常信息。如若確認(rèn)獲取的Exception所在行及所在行的上10行和下10行的日志信息包括當(dāng)前默認(rèn)Launcher的包名,則將該Exception所在行及所在行的上20行和下20行的日志信息緩存。
步驟306、將默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)累加默認(rèn)Launcher的包名的個數(shù)。
優(yōu)選的,在確認(rèn)包括當(dāng)前默認(rèn)Launcher的包名后,統(tǒng)計該日志信息取樣標(biāo)本中包括的當(dāng)前默認(rèn)Launcher的包名的個數(shù)。如若日志信息取樣標(biāo)本中有2個包括Exception字段的第二預(yù)設(shè)長度的日志信息中包括當(dāng)前默認(rèn)Launcher的包名,則該日志信息取樣標(biāo)本中默認(rèn)Launcher的包名的個數(shù)為2,并將默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)累加默認(rèn)Launcher的包名的個數(shù),統(tǒng)計默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)。
步驟307、判斷異常次數(shù)是否超過預(yù)設(shè)閾值,若是,執(zhí)行步驟308,否則,執(zhí)行步驟302。
步驟308、獲取包括內(nèi)置的Launcher的包名信息的Launcher列表;
示例性的,可通過PackageMessager類獲取智能終端中的所有Launcher的信息,并保存在一個列表中,從而獲取內(nèi)置的Launcher的包名信息的Launcher列表。如通過下列程序?qū)崿F(xiàn):
步驟309、去除Launcher列表中與當(dāng)前的默認(rèn)Launcher包名相同的Launcher,得到第一Launcher列表。
通過去除Launcher列表中與當(dāng)前的默認(rèn)Launcher包名相同的Launcher,將當(dāng)前默認(rèn)Launcher對應(yīng)的Launcher從Launcher列表中去除以防止再次將當(dāng)前默認(rèn)Launcher對應(yīng)的Launcher切換為默認(rèn)Launcher對應(yīng)的Launcher。
步驟310、將第一Launcher列表中任一Launcher確認(rèn)為目標(biāo)Launcher,并將默認(rèn)Launcher對應(yīng)的Launcher切換為目標(biāo)Launcher。
在得到第一Launcher列表后,從第一Launcher列表自動選取任一Launcher為目標(biāo)Launcher,如可選取列表中的第一個Launcher為目標(biāo)Launcher。并將默認(rèn)Launcher對應(yīng)的Launcher切換為目標(biāo)Launcher,從而啟動目標(biāo)Launcher,用戶在目標(biāo)Launcher中,對其它應(yīng)用程序進(jìn)行操作,保證默認(rèn)Launcher崩潰之后智能終端能夠繼續(xù)使用。
步驟311、獲取日志文件中未被獲取的日志信息。
將默認(rèn)Launcher對應(yīng)的Launcher切換為目標(biāo)Launcher后,獲取日志文件中未被獲取的所有日志信息,以獲取日志文件中未被獲取的異常信息。
步驟312、獲取未被獲取的日志信息中包括切換前默認(rèn)Launcher的包名的Exception字段的第三預(yù)設(shè)長度的日志信息并緩存。
示例性的,在獲取的未被獲取的日志信息中,檢測是否包括Exception字段,并檢測包括Exception字段的第二預(yù)設(shè)長度的日志信息中是否包括切換前默認(rèn)Launcher對應(yīng)的Launcher的包名,若包括,則緩存包括該Exception字段的第三預(yù)設(shè)長度的日志信息,從而保存未被獲取的切換前默認(rèn)Launcher對應(yīng)的Launcher的異常信息。
步驟313、將所有緩存的日志信息輸出至目標(biāo)目錄中。
優(yōu)選的,將各緩存的日志信息按照緩存的時間先后順序保存在同一文件中,再將該文件輸出到指定的目標(biāo)目錄中,從而開發(fā)維護(hù)人員可在目標(biāo)目錄中查看并分析發(fā)生持續(xù)崩潰的Launcher的異常信息,便于開發(fā)維護(hù)人員進(jìn)行維護(hù)。
本實施例的技術(shù)方案,通過判斷日志信息取樣標(biāo)本中包括Exception字段的第二預(yù)設(shè)長度的日志信息是否包括當(dāng)前的默認(rèn)Launcher的包名,若包括默認(rèn)Launcher的包名,將默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)累加默認(rèn)Launcher的包名的個數(shù)。從而實現(xiàn)方便快捷地對默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)進(jìn)行統(tǒng)計,檢測默認(rèn)Launcher是否發(fā)生持續(xù)崩潰。通過獲取包括內(nèi)置的Launcher的包名信息的Launcher列表,去除Launcher列表中與當(dāng)前的默認(rèn)Launcher包名相同的Launcher,得到第一Launcher列表,將第一Launcher列表中任一Launcher確認(rèn)為目標(biāo)Launcher,并將默認(rèn)Launcher對應(yīng)的Launcher切換為目標(biāo)Launcher。從而獲取智能終端中內(nèi)置的所有Launcher的信息,并將發(fā)生持續(xù)崩潰的Launcher去除,自動將除持續(xù)崩潰的Launcher之外的任一Launcher確認(rèn)為目標(biāo)Launcher,并將默認(rèn)Launcher對應(yīng)的Launcher切換為目標(biāo)Launcher,進(jìn)而啟動目標(biāo)Launcher,使得用戶在目標(biāo)Launcher中對智能終端中的其它應(yīng)用程序進(jìn)行操作,保證默認(rèn)Launcher崩潰之后智能終端能夠繼續(xù)使用。通過緩存出現(xiàn)持續(xù)崩潰的Launcher的異常信息并輸出至目標(biāo)目錄,便于開發(fā)維護(hù)人員在目標(biāo)目錄中查看并分析發(fā)生持續(xù)崩潰的Launcher的異常信息,為開發(fā)維護(hù)人員提供便利。
實施例四
圖4為本發(fā)明實施例四提供的一種自動切換默認(rèn)Launcher的裝置的結(jié)構(gòu)示意圖,上述裝置用于實現(xiàn)上述實施例提供的自動切換默認(rèn)Launcher的方法,該裝置包括:
Launcher內(nèi)置模塊401,用于在智能終端中內(nèi)置至少兩個桌面啟動器Launcher,其中一個Launcher設(shè)置為所述智能終端開機(jī)啟動的默認(rèn)Launcher;
次數(shù)確定模塊402,用于確定所述默認(rèn)Launcher運(yùn)行過程中的異常次數(shù);
Launcher切換模塊403,用于若所述異常次數(shù)超過預(yù)設(shè)閾值,則切換所述默認(rèn)Launcher對應(yīng)的Launcher。
上述方案中,可選的是,所述次數(shù)確定模塊包括:
標(biāo)本取樣單元,用于獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本;
異常信息判斷單元,用于判斷所述日志信息取樣標(biāo)本中是否包括當(dāng)前的所述默認(rèn)Launcher的異常信息;
異常次數(shù)累加單元,用于若包括所述默認(rèn)Launcher的異常信息,根據(jù)所述默認(rèn)Launcher的異常信息對所述默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)累加。
上述方案中,可選的是,所述異常信息判斷單元具體用于:
判斷所述日志信息取樣標(biāo)本中是否包括Exception字段;
若是,判斷所述日志信息取樣標(biāo)本中包括所述Exception字段的第二預(yù)設(shè)長度的日志信息是否包括當(dāng)前的所述默認(rèn)Launcher的包名;
相應(yīng)的,所述異常次數(shù)累加單元具體用于:
若包括所述默認(rèn)Launcher的包名,將所述默認(rèn)Launcher運(yùn)行過程中的異常次數(shù)累加所述默認(rèn)Launcher的包名的個數(shù)。
上述方案中,可選的是,Launcher切換模塊具體用于:
獲取包括內(nèi)置的所述Launcher的包名信息的Launcher列表;
去除所述Launcher列表中與當(dāng)前的所述默認(rèn)Launcher包名相同的Launcher,得到第一Launcher列表;
將所述第一Launcher列表中任一Launcher確認(rèn)為目標(biāo)Launcher,并將所述默認(rèn)Launcher對應(yīng)的Launcher切換為所述目標(biāo)Launcher。
上述方案中,可選的是,所述異常次數(shù)累加單元還用于:若包括當(dāng)前的所述默認(rèn)Launcher的包名,將所述日志信息取樣標(biāo)本中包括所述默認(rèn)Launcher的包名的Exception字段的第三預(yù)設(shè)長度的日志信息緩存。
上述方案中,優(yōu)選的是,還包括信息緩存模塊,具體用于:
獲取所述日志文件中未被獲取的日志信息;
獲取所述未被獲取的日志信息中包括切換前默認(rèn)Launcher的包名的Exception字段的第三預(yù)設(shè)長度的日志信息并緩存;
將所有緩存的日志信息輸出至目標(biāo)目錄中。
上述方案中,優(yōu)選的是,標(biāo)本取樣單元具體用于:
按照預(yù)設(shè)時間間隔,依次獲取日志文件中第一預(yù)設(shè)長度的日志信息,得到日志信息取樣標(biāo)本。
上述方案中,優(yōu)選的是,所述默認(rèn)Launcher對應(yīng)的Launcher初始設(shè)置為定制Launcher。
實施例五
本發(fā)明實施例五提供了一種終端,該終端集成了本發(fā)明實施例四所示的自動切換默認(rèn)Launcher的裝置,可通過執(zhí)行自動切換默認(rèn)Launcher的方法來進(jìn)行自動切換默認(rèn)Launcher。
示例性的,本實施例中的終端具體可為手機(jī)、平板電腦及電視等智能終端。
在用戶使用本實施例中的終端過程中,在終端中存在多個Launcher的情況下,持續(xù)檢測默認(rèn)Launcher是否發(fā)生持續(xù)崩潰,當(dāng)默認(rèn)Launcher發(fā)生持續(xù)崩潰時,自動切換默認(rèn)Launcher對應(yīng)的Launcher,保證默認(rèn)Launcher崩潰之后智能終端能夠繼續(xù)使用,提高用戶體驗。
上述裝置可執(zhí)行本發(fā)明任意實施例所提供的方法,具備執(zhí)行上述方法相應(yīng)的功能模塊和有益效果。未在本實施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本發(fā)明任意實施例所提供的方法。
注意,上述僅為本發(fā)明的較佳實施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實施例對本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。