根據(jù)應(yīng)用進程的關(guān)聯(lián)啟動權(quán)限,使用服務(wù)類別信息以及調(diào)用包信息,對應(yīng)用進程的至少一個關(guān)聯(lián)應(yīng)用進程進行啟動。
[0084]本優(yōu)選實施例的應(yīng)用進程關(guān)聯(lián)啟動裝置303使用時,指令接收模塊31接收到應(yīng)用進程服務(wù)啟動指令,該應(yīng)用進程啟動指令為某個激活應(yīng)用通過系統(tǒng)服務(wù)啟動方式請求啟動或激活某一類應(yīng)用進程的指令,該應(yīng)用進程可為該激活應(yīng)用中的進程,也可為另一應(yīng)用的進程。
[0085]隨后應(yīng)用進程信息獲取模塊32在接收到應(yīng)用進程服務(wù)啟動指令后,通過終端系統(tǒng)中的啟動服務(wù)(Active Services)中的啟動服務(wù)函數(shù)(Start Service Locked或BindService Locked),獲取該應(yīng)用進程服務(wù)啟動指令對應(yīng)的應(yīng)用進程的啟動信息。該啟動信息是指該應(yīng)用進程通過啟動服務(wù)函數(shù)進行應(yīng)用進程啟動的相關(guān)信息。該啟動信息包括服務(wù)類別(act1n)信息、服務(wù)包信息以及調(diào)用包信息。其中服務(wù)類別信息包括至少一個同一類別的服務(wù)組件信息,服務(wù)組件信息為該應(yīng)用進程進行進程啟動調(diào)用的啟動服務(wù)參數(shù),如啟動服務(wù)名稱等;服務(wù)包信息為應(yīng)用進程的進程信息;調(diào)用包信息為被啟動的應(yīng)用進程的進程?目息O
[0086]然后關(guān)聯(lián)啟動判斷模塊33根據(jù)應(yīng)用進程信息獲取模塊32獲取的服務(wù)包信息以及調(diào)用包信息,判斷應(yīng)用進程是否進行關(guān)聯(lián)應(yīng)用進程的啟動。如服務(wù)包信息與調(diào)用包信息不同,則說明應(yīng)用進程正在啟動其他關(guān)聯(lián)應(yīng)用進程;如服務(wù)包信息與調(diào)用包信息相同,則說明應(yīng)用進程正在啟動自身應(yīng)用的進程。
[0087]最后如判斷應(yīng)用進程進行關(guān)聯(lián)應(yīng)用進程的啟動,則關(guān)聯(lián)啟動模塊34根據(jù)應(yīng)用進程的關(guān)聯(lián)啟動權(quán)限,使用應(yīng)用進程信息獲取模塊32獲取的應(yīng)用進程的調(diào)用包信息以及包括相應(yīng)服務(wù)組件信息的服務(wù)類別信息,對應(yīng)用進程的關(guān)聯(lián)應(yīng)用進程進行啟動。即如應(yīng)用進程具有相應(yīng)的關(guān)聯(lián)啟動權(quán)限,則對應(yīng)用進程的關(guān)聯(lián)應(yīng)用進程進行啟動;如應(yīng)用進程不具有相應(yīng)的關(guān)聯(lián)啟動權(quán)限,則不能對應(yīng)用進程的關(guān)聯(lián)應(yīng)用進程進行啟動。
[0088]這樣即完成了本優(yōu)選實施例的應(yīng)用進程關(guān)聯(lián)啟動裝置30的關(guān)聯(lián)應(yīng)用進程啟動過程。
[0089]本優(yōu)選實施例的應(yīng)用進程關(guān)聯(lián)啟動裝置根據(jù)應(yīng)用進程的關(guān)聯(lián)啟動類型以及應(yīng)用進程的關(guān)聯(lián)啟動權(quán)限,使用相應(yīng)的函數(shù)進行應(yīng)用進程的批量關(guān)聯(lián)啟動管理,減少了應(yīng)用進程的關(guān)聯(lián)啟動,實現(xiàn)了對應(yīng)用進程批量關(guān)聯(lián)啟動的有效管理,降低了相應(yīng)移動終端的功耗。
[0090]請參照圖4,圖4為本發(fā)明的應(yīng)用進程關(guān)聯(lián)啟動裝置的第二優(yōu)選實施例的結(jié)構(gòu)示意圖。本優(yōu)選實施例的應(yīng)用進程關(guān)聯(lián)啟動裝置可使用上述的應(yīng)用進程關(guān)聯(lián)啟動方法的第二優(yōu)選實施例進行實施。該應(yīng)用進程關(guān)聯(lián)啟動裝置40包括指令接收模塊41、應(yīng)用進程信息獲取模塊42、關(guān)聯(lián)啟動判斷模塊43以及關(guān)聯(lián)啟動模塊44。
[0091]指令接收模塊41用于接收應(yīng)用進程服務(wù)啟動指令。應(yīng)用進程信息獲取模塊42用于通過啟動服務(wù)中的啟動服務(wù)函數(shù),獲取應(yīng)用進程服務(wù)啟動指令對應(yīng)的應(yīng)用進程的啟動信息。關(guān)聯(lián)啟動判斷模塊43用于根據(jù)服務(wù)包信息以及調(diào)用包信息,判斷應(yīng)用進程是否進行關(guān)聯(lián)應(yīng)用進程的啟動。關(guān)聯(lián)啟動模塊44用于如應(yīng)用進程進行關(guān)聯(lián)應(yīng)用進程的啟動,則根據(jù)應(yīng)用進程的關(guān)聯(lián)啟動權(quán)限,使用服務(wù)類別信息以及調(diào)用包信息,對應(yīng)用進程的至少一個關(guān)聯(lián)應(yīng)用進程進行啟動。
[0092]請參照圖5,圖5為本發(fā)明的應(yīng)用進程關(guān)聯(lián)啟動裝置的第二優(yōu)選實施例的關(guān)聯(lián)啟動判斷模塊的結(jié)構(gòu)示意圖,該關(guān)聯(lián)啟動判斷模塊43包括包信息判斷單元51、非關(guān)聯(lián)啟動單元52以及關(guān)聯(lián)啟動判斷單元53。
[0093]包信息判斷單元51用于判斷服務(wù)包信息以及調(diào)用包信息是否相同。非關(guān)聯(lián)啟動單元52用于根據(jù)服務(wù)類別信息以及調(diào)用包信息進行應(yīng)用進程的啟動。關(guān)聯(lián)啟動判斷單元53用于判斷應(yīng)用進程進行關(guān)聯(lián)應(yīng)用進程的啟動。
[0094]請參照圖6,圖6為本發(fā)明的應(yīng)用進程關(guān)聯(lián)啟動裝置的第二優(yōu)選實施例的關(guān)聯(lián)啟動模塊的結(jié)構(gòu)示意圖。該關(guān)聯(lián)啟動模塊44包括權(quán)限判斷單元61、關(guān)聯(lián)啟動單元62以及提示單元63。
[0095]權(quán)限判斷單元61用于判斷應(yīng)用進程是否具有第一關(guān)聯(lián)啟動權(quán)限。關(guān)聯(lián)啟動單元62用于使用服務(wù)類別信息以及調(diào)用包信息,通過服務(wù)啟動處理函數(shù)以及啟動進程函數(shù)對應(yīng)用進程的至少一個關(guān)聯(lián)應(yīng)用進程進行啟動。提示單元63用于返回禁止關(guān)聯(lián)應(yīng)用啟動的提示信息。
[0096]本優(yōu)選實施例的應(yīng)用進程關(guān)聯(lián)啟動裝置40使用時,首先指令接收模塊41接收到應(yīng)用進程服務(wù)啟動指令,該應(yīng)用進程啟動指令為某個激活應(yīng)用通過系統(tǒng)服務(wù)啟動方式請求啟動或激活某一類應(yīng)用進程的指令,該應(yīng)用進程可為該激活應(yīng)用中的進程,也可為另一應(yīng)用的進程。
[0097]隨后應(yīng)用進程信息獲取模塊42在接收到應(yīng)用進程服務(wù)啟動指令后,通過終端系統(tǒng)中的啟動服務(wù)(Active Services)中的啟動服務(wù)函數(shù)(Start Service Locked或BindService Locked),獲取該應(yīng)用進程服務(wù)啟動指令對應(yīng)的應(yīng)用進程的啟動信息。該啟動信息是指該應(yīng)用進程通過啟動服務(wù)函數(shù)進行應(yīng)用進程啟動的相關(guān)信息。該啟動信息包括服務(wù)類別(act1n)信息、服務(wù)包信息以及調(diào)用包信息。其中服務(wù)類別信息包括至少一個同一類別的服務(wù)組件信息,服務(wù)組件信息為該應(yīng)用進程進行進程啟動調(diào)用的啟動服務(wù)參數(shù),如啟動服務(wù)名稱等;服務(wù)包信息為應(yīng)用進程的進程信息;調(diào)用包信息為被啟動的應(yīng)用進程的進程?目息O
[0098]然后關(guān)聯(lián)啟動判斷模塊43的包信息判斷單元51判斷應(yīng)用進程信息獲取模塊獲取的服務(wù)包信息以及調(diào)用包信息是否相同。
[0099]如服務(wù)包信息和調(diào)用包信息相同,則說明該應(yīng)用進程只是進行應(yīng)用內(nèi)的進程啟動,并非關(guān)聯(lián)應(yīng)用進程啟動,因此關(guān)聯(lián)啟動判斷模塊43的非關(guān)聯(lián)啟動單元52可根據(jù)包括相應(yīng)服務(wù)組件信息的服務(wù)類別信息以及調(diào)用包信息進行應(yīng)用進程的批量啟動。
[0100]如服務(wù)包信息和調(diào)用包信息不同,則關(guān)聯(lián)啟動判斷模塊43的關(guān)聯(lián)啟動判斷單元53判斷應(yīng)用進程進行關(guān)聯(lián)應(yīng)用進程的啟動。
[0101]隨后應(yīng)關(guān)聯(lián)啟動模塊44的權(quán)限判斷單元61判斷應(yīng)用進程是否具有第一關(guān)聯(lián)啟動權(quán)限,該第一關(guān)聯(lián)啟動權(quán)限指的是該應(yīng)用進程是否有權(quán)限進行關(guān)聯(lián)應(yīng)用進程的啟動。
[0102]如應(yīng)用進程不具有第一關(guān)聯(lián)啟動權(quán)限,因此關(guān)聯(lián)啟動模塊44不對應(yīng)用進程的關(guān)聯(lián)應(yīng)用進行啟動,同時關(guān)聯(lián)啟動模塊44的提示單元63還可將禁止關(guān)聯(lián)啟動的提示信息返回給系統(tǒng),避免系統(tǒng)或應(yīng)用的阻塞。此外關(guān)聯(lián)啟動模塊還可將禁止啟動的記錄上報至啟動管理服務(wù),以便對異常的關(guān)聯(lián)應(yīng)用進程啟動操作進行記錄。
[0103]如應(yīng)用進程具有第一關(guān)聯(lián)啟動權(quán)限,則關(guān)聯(lián)啟動模塊44的關(guān)聯(lián)啟動單元62獲取服務(wù)類別信息中的所有服務(wù)組件信息,隨后使用應(yīng)用進程信息獲取模塊42獲取的調(diào)用包信息以及相應(yīng)的服務(wù)組件信息,通過服務(wù)啟動處理函數(shù)(Bring Up Service Locked)以及啟動進程函數(shù)(Start Process Locked)對應(yīng)用進程的關(guān)聯(lián)應(yīng)用進程進行批量啟動。
[0104]具體的,關(guān)聯(lián)啟動單元62可根據(jù)關(guān)聯(lián)應(yīng)用進程的第二關(guān)聯(lián)啟動權(quán)限,使用服務(wù)類別信息以及調(diào)用包信息,通過服務(wù)啟動處理函數(shù)以及啟動進程函數(shù)對應(yīng)用進程的關(guān)聯(lián)應(yīng)用進程進行啟動。即關(guān)聯(lián)應(yīng)用進程具有被關(guān)聯(lián)啟動的權(quán)限,則可進行關(guān)聯(lián)進程啟動,如關(guān)聯(lián)應(yīng)用進程不具有被關(guān)聯(lián)啟動的權(quán)限,則不能進行關(guān)聯(lián)進程啟動,同時應(yīng)用進程關(guān)聯(lián)啟動裝置還可將禁止關(guān)聯(lián)啟動的提示信息返回給系統(tǒng)。這里的第二關(guān)聯(lián)啟動權(quán)限可在本地或在云端服務(wù)器上以文件或數(shù)據(jù)庫等各種方式進行存儲。
[0105]如未對關(guān)聯(lián)應(yīng)用進程設(shè)置第二關(guān)聯(lián)啟動權(quán)限,關(guān)聯(lián)啟動單元62還可根據(jù)關(guān)聯(lián)應(yīng)用進程的系統(tǒng)權(quán)限信息來確定關(guān)聯(lián)應(yīng)用進程的關(guān)聯(lián)啟動權(quán)限。如將非系統(tǒng)內(nèi)置的低權(quán)限的關(guān)聯(lián)應(yīng)用進程設(shè)定為禁止關(guān)聯(lián)啟動,將系統(tǒng)內(nèi)置的高權(quán)限的關(guān)聯(lián)應(yīng)用進程設(shè)定為正常關(guān)聯(lián)啟動。
[0106]這樣即完成了本優(yōu)選實施例的應(yīng)用進程關(guān)聯(lián)啟動裝置40的關(guān)聯(lián)應(yīng)用進程啟動過程。
[0107]在第一優(yōu)選實施例的基礎(chǔ)上,本優(yōu)選實施例的應(yīng)用進程關(guān)聯(lián)啟動裝置還根據(jù)關(guān)聯(lián)應(yīng)用進程的關(guān)聯(lián)啟動權(quán)限,使用相應(yīng)的函數(shù)進行應(yīng)用進程的批量關(guān)聯(lián)啟動管理,同時對異常關(guān)聯(lián)應(yīng)用進程的啟動進行反饋以及記錄,進一步提高了關(guān)聯(lián)應(yīng)用進程的批量啟動管理的有效性。
[0108]下面通過一具體實施例說明本發(fā)明的應(yīng)用進程關(guān)聯(lián)啟動方法及關(guān)聯(lián)啟動裝置的具體工作原理。
[0109]一,應(yīng)用進程關(guān)聯(lián)啟動裝置接收外部的應(yīng)用進程服務(wù)啟動指令。
[0110]二,應(yīng)用進程關(guān)聯(lián)啟動裝置通過啟動服務(wù)中的啟動服務(wù)函數(shù),獲取應(yīng)用進程服務(wù)啟動指令對應(yīng)的應(yīng)用進程的服務(wù)類別信息、服務(wù)包信息以及調(diào)用包信息。
[0111]三,應(yīng)用進程關(guān)聯(lián)啟動裝置判斷服務(wù)包信息以及調(diào)用包信息是否相同,這里設(shè)定服務(wù)包信息以及調(diào)用包信息相同。
[0112]四,應(yīng)用進程關(guān)聯(lián)啟動裝置獲取服務(wù)類別信息中的所有同類服務(wù)組件信息。
[0113]五,應(yīng)用進程關(guān)聯(lián)啟動裝置使用所有的服務(wù)類別信息以及調(diào)用包信息,對應(yīng)用進程的多個關(guān)聯(lián)應(yīng)用進程進行啟動。
[0114]這樣即完成了本具體實施例的進程關(guān)聯(lián)啟動方法及關(guān)聯(lián)啟動裝置的關(guān)聯(lián)應(yīng)用進程啟動過程。
[0115]本發(fā)明的應(yīng)用進程關(guān)聯(lián)啟動方法及關(guān)聯(lián)啟動裝置根據(jù)應(yīng)用進程的關(guān)聯(lián)啟動類型以及應(yīng)用進程的關(guān)聯(lián)啟動權(quán)限,使用相應(yīng)的函數(shù)進行應(yīng)用進程的批量關(guān)聯(lián)啟動管理,實現(xiàn)了對應(yīng)用進程關(guān)聯(lián)啟動的有效管理;解決了現(xiàn)有的應(yīng)用進程關(guān)聯(lián)啟動方法及關(guān)聯(lián)