應(yīng)用進(jìn)程啟動(dòng)方法及應(yīng)用進(jìn)程啟動(dòng)裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用進(jìn)程控制領(lǐng)域,特別是涉及一種應(yīng)用進(jìn)程啟動(dòng)方法及應(yīng)用進(jìn)程啟動(dòng)裝置。
【背景技術(shù)】
[0002]在安卓系統(tǒng)中,所有的終端應(yīng)用啟動(dòng),首先都必須啟動(dòng)一個(gè)對(duì)應(yīng)的應(yīng)用進(jìn)程。在安卓的系統(tǒng)管理服務(wù)中,均是通過Activity Manager Service(啟動(dòng)管理服務(wù))系統(tǒng)服務(wù)中的Start Process Locked(啟動(dòng)進(jìn)程函數(shù))函數(shù)作為入口實(shí)現(xiàn)應(yīng)用進(jìn)程啟動(dòng)的。
[0003]在現(xiàn)有技術(shù)中,某個(gè)應(yīng)用可通過調(diào)用非可視化的后臺(tái)運(yùn)行服務(wù)(service),從而進(jìn)一步調(diào)用Start Process Locked函數(shù),實(shí)現(xiàn)自身應(yīng)用或其他應(yīng)用的進(jìn)程啟動(dòng)。
[0004]但是上述應(yīng)用啟動(dòng)方式可能會(huì)被某些流氓應(yīng)用利用,如應(yīng)用A通過調(diào)用應(yīng)用B的后臺(tái)運(yùn)行服務(wù),從而實(shí)現(xiàn)應(yīng)用B的應(yīng)用進(jìn)程的啟動(dòng);此時(shí)如果應(yīng)用A被關(guān)閉,應(yīng)用B同樣可調(diào)用應(yīng)用A的后臺(tái)運(yùn)行服務(wù),從而實(shí)現(xiàn)應(yīng)用A的應(yīng)用進(jìn)程的啟動(dòng)。這樣使得應(yīng)用A和應(yīng)用B的應(yīng)用進(jìn)程在系統(tǒng)中一直處于激活啟動(dòng)狀態(tài),導(dǎo)致系統(tǒng)資源的浪費(fèi)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種可以對(duì)應(yīng)用進(jìn)程啟動(dòng)進(jìn)行有效管理的應(yīng)用進(jìn)程啟動(dòng)方法及應(yīng)用進(jìn)程啟動(dòng)裝置;以解決現(xiàn)有的應(yīng)用進(jìn)程啟動(dòng)方法及應(yīng)用進(jìn)程啟動(dòng)裝置的不能對(duì)應(yīng)用進(jìn)程的啟動(dòng)進(jìn)行有效管理的技術(shù)問題。
[0006]本發(fā)明實(shí)施例提供一種應(yīng)用進(jìn)程啟動(dòng)方法,其包括:
[0007]接收應(yīng)用進(jìn)程啟動(dòng)指令;
[0008]通過啟動(dòng)管理服務(wù)中的啟動(dòng)進(jìn)程函數(shù),獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)類型以及啟動(dòng)信息;
[0009]如所述應(yīng)用進(jìn)程的啟動(dòng)類型為系統(tǒng)服務(wù)啟動(dòng)方式,且所述應(yīng)用進(jìn)程的啟動(dòng)信息為正常啟動(dòng),則通過服務(wù)啟動(dòng)處理函數(shù)以及所述啟動(dòng)進(jìn)程函數(shù)對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng);以及
[0010]如所述應(yīng)用進(jìn)程的啟動(dòng)類型為系統(tǒng)服務(wù)啟動(dòng)方式,且所述應(yīng)用進(jìn)程的啟動(dòng)信息為禁止啟動(dòng),則不對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng)。
[0011]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)方法中,所述通過服務(wù)啟動(dòng)處理函數(shù)以及所述啟動(dòng)進(jìn)程函數(shù)對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng)的步驟具體為:
[0012]通過所述服務(wù)啟動(dòng)處理函數(shù)找到相應(yīng)的系統(tǒng)服務(wù)啟動(dòng)方式的應(yīng)用進(jìn)程,隨后使用所述啟動(dòng)進(jìn)程函數(shù)獲取相應(yīng)的資源以及內(nèi)存對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng);其中所述服務(wù)啟動(dòng)處理函數(shù)為Bring Up Service Locked函數(shù),所述啟動(dòng)進(jìn)程函數(shù)為Start Process Locked函數(shù)。
[0013]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)方法中,所述通過啟動(dòng)管理服務(wù)中的啟動(dòng)進(jìn)程函數(shù),獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)類型的步驟具體為:
[0014]通過啟動(dòng)管理服務(wù)中的啟動(dòng)進(jìn)程函數(shù)的托管類型參數(shù),獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)類型,其中所述系統(tǒng)服務(wù)啟動(dòng)方式的應(yīng)用進(jìn)程對(duì)應(yīng)的托管類型參數(shù)為service。
[0015]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)方法中,所述獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)信息的步驟包括:
[0016]根據(jù)所述應(yīng)用進(jìn)程的權(quán)限,獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)信息,其中所述啟動(dòng)信息本地存儲(chǔ)或異地云存儲(chǔ)。
[0017]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)方法中,所述通過服務(wù)啟動(dòng)處理函數(shù)以及所述啟動(dòng)進(jìn)程函數(shù)對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng)的步驟包括:
[0018]判斷所述應(yīng)用進(jìn)程是否已經(jīng)啟動(dòng);
[0019]如所述應(yīng)用進(jìn)程已經(jīng)啟動(dòng),則不對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng);
[0020]如所述應(yīng)用進(jìn)程未啟動(dòng),則通過服務(wù)啟動(dòng)處理函數(shù)以及所述啟動(dòng)進(jìn)程函數(shù)對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng)。
[0021]本發(fā)明實(shí)施例還提供一種應(yīng)用進(jìn)程啟動(dòng)裝置,其包括:
[0022]指令接收模塊,用于接收應(yīng)用進(jìn)程啟動(dòng)指令;
[0023]應(yīng)用進(jìn)程參數(shù)獲取模塊,用于通過啟動(dòng)管理服務(wù)中的啟動(dòng)進(jìn)程函數(shù),獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)類型以及啟動(dòng)信息;
[0024]正常啟動(dòng)模塊,用于如所述應(yīng)用進(jìn)程的啟動(dòng)類型為系統(tǒng)服務(wù)啟動(dòng)方式,且所述應(yīng)用進(jìn)程的啟動(dòng)信息為正常啟動(dòng),則通過服務(wù)啟動(dòng)處理函數(shù)以及所述啟動(dòng)進(jìn)程函數(shù)對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng);以及
[0025]禁止啟動(dòng)模塊,用于如所述應(yīng)用進(jìn)程的啟動(dòng)類型為系統(tǒng)服務(wù)啟動(dòng)方式,且所述應(yīng)用進(jìn)程的啟動(dòng)信息為禁止啟動(dòng),則不對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng)。
[0026]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)裝置中,所述正常啟動(dòng)模塊具體用于通過所述服務(wù)啟動(dòng)處理函數(shù)找到相應(yīng)的系統(tǒng)服務(wù)啟動(dòng)方式的應(yīng)用進(jìn)程,隨后使用所述啟動(dòng)進(jìn)程函數(shù)獲取相應(yīng)的資源以及內(nèi)存對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng);其中所述服務(wù)啟動(dòng)處理函數(shù)為Bring UpService Locked函數(shù),所述啟動(dòng)進(jìn)程函數(shù)為Start Process Locked函數(shù)。
[0027]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)裝置中,所述應(yīng)用進(jìn)程參數(shù)獲取模塊具體用于通過啟動(dòng)管理服務(wù)中的啟動(dòng)進(jìn)程函數(shù)的托管類型參數(shù),獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)類型,其中所述系統(tǒng)服務(wù)啟動(dòng)方式的應(yīng)用進(jìn)程對(duì)應(yīng)的托管類型參數(shù)為service。
[0028]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)裝置中,所述應(yīng)用進(jìn)程參數(shù)獲取模塊具體用于根據(jù)所述應(yīng)用進(jìn)程的權(quán)限,獲取所述應(yīng)用進(jìn)程啟動(dòng)指令對(duì)應(yīng)的應(yīng)用進(jìn)程的啟動(dòng)信息,其中所述啟動(dòng)信息本地存儲(chǔ)或異地云存儲(chǔ)。
[0029]在本發(fā)明所述的應(yīng)用進(jìn)程啟動(dòng)裝置中,所述正常啟動(dòng)模塊包括:
[0030]判斷單元,用于判斷所述應(yīng)用進(jìn)程是否已經(jīng)啟動(dòng);
[0031]正常啟動(dòng)單元,用于如所述應(yīng)用進(jìn)程未啟動(dòng),則通過服務(wù)啟動(dòng)處理函數(shù)以及所述啟動(dòng)進(jìn)程函數(shù)對(duì)所述應(yīng)用進(jìn)程進(jìn)行啟動(dòng)。
[0032]相較于現(xiàn)有技術(shù)的應(yīng)用進(jìn)程啟動(dòng)方法及應(yīng)用進(jìn)程啟動(dòng)裝置,本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)方法及應(yīng)用進(jìn)程啟動(dòng)裝置根據(jù)應(yīng)用進(jìn)程的啟動(dòng)類型以及啟動(dòng)信息,使用相應(yīng)的函數(shù)進(jìn)行應(yīng)用進(jìn)程的啟動(dòng)管理,實(shí)現(xiàn)了對(duì)應(yīng)用進(jìn)程啟動(dòng)的有效管理;解決了現(xiàn)有的應(yīng)用進(jìn)程啟動(dòng)方法及應(yīng)用進(jìn)程啟動(dòng)裝置的不能對(duì)應(yīng)用進(jìn)程的啟動(dòng)進(jìn)行有效管理的技術(shù)問題。
【附圖說明】
[0033]圖1為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)方法的第一優(yōu)選實(shí)施例的流程圖;
[0034]圖2為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)方法的第二優(yōu)選實(shí)施例的流程圖;
[0035]圖3為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)方法的第二優(yōu)選實(shí)施例的步驟S203的流程圖;
[0036]圖4為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)裝置的第一優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
[0037]圖5為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)裝置的第二優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
[0038]圖6為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)裝置的第二優(yōu)選實(shí)施例的正常啟動(dòng)模塊的結(jié)構(gòu)示意圖;
[0039]圖7為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)裝置的第二優(yōu)選實(shí)施例的禁止啟動(dòng)模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]請(qǐng)參照?qǐng)D式,其中相同的組件符號(hào)代表相同的組件,本發(fā)明的原理是以實(shí)施在一適當(dāng)?shù)倪\(yùn)算環(huán)境中來舉例說明。以下的說明是基于所例示的本發(fā)明具體實(shí)施例,其不應(yīng)被視為限制本發(fā)明未在此詳述的其它具體實(shí)施例。
[0041]在以下的說明中,本發(fā)明的具體實(shí)施例將參考由一部或多部計(jì)算機(jī)所執(zhí)行之作業(yè)的步驟及符號(hào)來說明,除非另有述明。因此,其將可了解到這些步驟及操作,其中有數(shù)次提到為由計(jì)算機(jī)執(zhí)行,包括了由代表了以一結(jié)構(gòu)化型式中的數(shù)據(jù)之電子信號(hào)的計(jì)算機(jī)處理單元所操縱。此操縱轉(zhuǎn)換該數(shù)據(jù)或?qū)⑵渚S持在該計(jì)算機(jī)之內(nèi)存系統(tǒng)中的位置處,其可重新配置或另外以本領(lǐng)域技術(shù)人員所熟知的方式來改變?cè)撚?jì)算機(jī)之運(yùn)作。該數(shù)據(jù)所維持的數(shù)據(jù)結(jié)構(gòu)為該內(nèi)存之實(shí)體位置,其具有由該數(shù)據(jù)格式所定義的特定特性。但是,本發(fā)明原理以上述文字來說明,其并不代表為一種限制,本領(lǐng)域技術(shù)人員將可了解到以下所述的多種步驟及操作亦可實(shí)施在硬件當(dāng)中。
[0042]本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)裝置可使用各種電子設(shè)備進(jìn)行實(shí)施,該電子設(shè)備包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、移動(dòng)設(shè)備(比如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、媒體播放器等等)、多處理器系統(tǒng)、消費(fèi)型電子設(shè)備、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括上述任意系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,等等。但該電子設(shè)備優(yōu)選為智能移動(dòng)終端,以提高智能移動(dòng)終端對(duì)應(yīng)用進(jìn)程的啟動(dòng)管理的有效性。
[0043]請(qǐng)參照?qǐng)D1,圖1為本發(fā)明的應(yīng)用進(jìn)程啟動(dòng)方法的第一優(yōu)選實(shí)施例的流程圖。本優(yōu)選實(shí)施例的應(yīng)用進(jìn)程啟動(dòng)方法可使用上述的電子設(shè)備進(jìn)行實(shí)施。該應(yīng)用進(jìn)程啟動(dòng)方法包括:
[0044]步驟SlOl,接收應(yīng)用進(jìn)程啟動(dòng)指令;