本發(fā)明涉及通信領(lǐng)域中的信息管理技術(shù),尤其涉及一種進(jìn)程管理方法及電子設(shè)備。
背景技術(shù):
電子設(shè)備,尤其是智能設(shè)備,比如手機(jī)在人們的生活中扮演著越來越重要的角色,人們在衣食住行、社交、娛樂等活動中,都離不開手機(jī)。在眾多手機(jī)應(yīng)用中,信息應(yīng)用在溝通、社交方面信尤為重要。然而,現(xiàn)階段大多數(shù)電子設(shè)備無法從根源上保證應(yīng)用的安全問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提出一種進(jìn)程管理方法及電子設(shè)備,旨在解決現(xiàn)有技術(shù)中存在的上述問題。
本發(fā)明提供的一種進(jìn)程管理方法,應(yīng)用于電子設(shè)備,包括:
檢測到第一應(yīng)用的第一進(jìn)程調(diào)用至少一個(gè)第二應(yīng)用的第二進(jìn)程的操作時(shí),獲取進(jìn)程攔截記錄;其中,所述進(jìn)程攔截記錄中包括有系統(tǒng)中進(jìn)行攔截的至少一個(gè)進(jìn)程的標(biāo)識信息;
判斷所述第一進(jìn)程是否記錄在所述進(jìn)程攔截記錄,得到判斷結(jié)果;
基于所述判斷結(jié)果確定是否對所述第一進(jìn)程的調(diào)用操作進(jìn)行攔截。
本發(fā)明提供一種電子設(shè)備,所述電子設(shè)備包括:
檢測單元,用于檢測到第一應(yīng)用的第一進(jìn)程調(diào)用至少一個(gè)第二應(yīng)用的第二進(jìn)程的操作時(shí),獲取進(jìn)程攔截記錄;其中,所述進(jìn)程攔截記錄中包括有系統(tǒng)中進(jìn)行攔截的至少一個(gè)進(jìn)程的標(biāo)識信息;
處理單元,用于判斷所述第一進(jìn)程是否記錄在所述進(jìn)程攔截記錄,得到判斷結(jié)果;基于所述判斷結(jié)果確定是否對所述第一進(jìn)程的調(diào)用操作進(jìn)行攔截。
本發(fā)明提出的一種進(jìn)程管理方法及電子設(shè)備,在一個(gè)應(yīng)用的進(jìn)程要調(diào)用其他應(yīng)用的進(jìn)程時(shí),通過檢測進(jìn)程攔截記錄判斷是否需要進(jìn)行攔截。如此,就能夠避免一個(gè)應(yīng)用頻繁的向其他應(yīng)用進(jìn)行通知或廣播等操作,而導(dǎo)致的電子設(shè)備耗電的情況,提升了電子設(shè)備的使用時(shí)長,并且減少了處理資源的耗費(fèi)。
附圖說明
圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的電子設(shè)備的硬件結(jié)構(gòu)示意圖;
圖2為如圖1所示的電子設(shè)備的無線通信系統(tǒng)示意圖;
圖3為本發(fā)明實(shí)施例進(jìn)程管理方法流程示意圖一;
圖4為本發(fā)明實(shí)施例進(jìn)程管理方法流程示意圖二;
圖5為本發(fā)明實(shí)施例電子設(shè)備組成結(jié)構(gòu)示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的電子設(shè)備。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
電子設(shè)備可以以各種形式來實(shí)施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、個(gè)人數(shù)字助理(PDA)、平板電腦(PAD)、便攜式多媒體播放器(PMP)、導(dǎo)航裝置等等的電子設(shè)備以及諸如數(shù)字TV、臺式計(jì)算機(jī)等等的固定終端。下面,假設(shè)終端是電子設(shè)備。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。
圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的電子設(shè)備的硬件結(jié)構(gòu)示意。
電子設(shè)備100可以包括通信單元110、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的電子設(shè)備,但是應(yīng)理解的是,并不要求實(shí)施所有示出的組件。可以替代地實(shí)施更多或更少的組件。將在下面詳細(xì)描述電子設(shè)備的元件。
通信單元110通常包括一個(gè)或多個(gè)組件,其允許電子設(shè)備100與無線通信系統(tǒng)或網(wǎng)絡(luò)之間的無線電通信。
接口單元170用作至少一個(gè)外部裝置與電子設(shè)備100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機(jī)端口等等。識別模塊可以是存儲用于驗(yàn)證用戶使用電子設(shè)備100的各種信息并且可以包括用戶識別模塊(UIM)、客戶識別模塊(SIM)、通用客戶識別模塊(USIM)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與電子設(shè)備100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)诫娮釉O(shè)備100內(nèi)的一個(gè)或多個(gè)元件或者可以用于在電子設(shè)備和外部裝置之間傳輸數(shù)據(jù)。
輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報(bào)信號、振動信號等等)。輸出單元150可以包括顯音頻輸出模塊等等。音頻輸出模塊可以在將接收的或者在存儲器160中存儲的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號并且輸出為聲音。而且,音頻輸出模塊可以提供與電子設(shè)備100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊可以包括揚(yáng)聲器、蜂鳴器等等。
存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時(shí)地存儲已經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動和音頻信號的數(shù)據(jù)。
存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機(jī)訪問存儲器(RAM)、靜態(tài)隨機(jī)訪問存儲器(SRAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁性存儲器、磁盤、光盤等等。而且,電子設(shè)備100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡(luò)存儲裝置協(xié)作。
控制器180通常控制電子設(shè)備的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊,多媒體模塊可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏Α?/p>
這里描述的各種實(shí)施方式可以以使用例如計(jì)算機(jī)軟件、硬件或其任何組合的計(jì)算機(jī)可讀介質(zhì)來實(shí)施。對于硬件實(shí)施,這里描述的實(shí)施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設(shè)計(jì)為執(zhí)行這里描述的功能的電子單元中的至少一種來實(shí)施,在一些情況下,這樣的實(shí)施方式可以在控制器180中實(shí)施。對于軟件實(shí)施,諸如過程或功能的實(shí)施方式可以與允許執(zhí)行至少一種功能或操作的單獨(dú)的軟件模塊來實(shí)施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z言編寫的軟件應(yīng)用程序(或程序)來實(shí)施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。
至此,已經(jīng)按照其功能描述了電子設(shè)備。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型電子設(shè)備等等的各種類型的電子設(shè)備中的滑動型電子設(shè)備作為示例。因此,本發(fā)明能夠應(yīng)用于任何類型的電子設(shè)備,并且不限于滑動型電子設(shè)備。
如圖1中所示的電子設(shè)備100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作。
現(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的電子設(shè)備能夠操作的通信系統(tǒng)。
這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(FDMA)、時(shí)分多址(TDMA)、碼分多址(CDMA)和通用移動通信系統(tǒng)(UMTS)(特別地,長期演進(jìn)(LTE))、全球移動通信系統(tǒng)(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類型的系統(tǒng)。
參考圖2,CDMA無線通信系統(tǒng)可以包括多個(gè)電子設(shè)備100、多個(gè)基站(BS)270、基站控制器(BSC)275、移動交換中心(MSC)280和廣播發(fā)射器(BT)295。MSC280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(PSTN)290形成接口。MSC280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的BSC275形成接口?;爻叹€路可以根據(jù)若干已知的接口中的任一種來構(gòu)造,所述接口包括例如E1/T1、ATM,IP、PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖2中所示的系統(tǒng)可以包括多個(gè)BSC275。在圖2中,描繪了多個(gè)衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。
基于上述電子設(shè)備硬件結(jié)構(gòu)以及通信系統(tǒng),提出本發(fā)明方法各個(gè)實(shí)施例。
實(shí)施例一、
本發(fā)明實(shí)施例提供了一種進(jìn)程管理方法,如圖3所示,包括:
步驟301:檢測到第一應(yīng)用的第一進(jìn)程調(diào)用至少一個(gè)第二應(yīng)用的第二進(jìn)程的操作時(shí),獲取進(jìn)程攔截記錄;其中,所述進(jìn)程攔截記錄中包括有系統(tǒng)中進(jìn)行攔截的至少一個(gè)進(jìn)程的標(biāo)識信息;
步驟302:判斷所述第一進(jìn)程是否記錄在所述進(jìn)程攔截記錄,得到判斷結(jié)果;
步驟303:基于所述判斷結(jié)果確定是否對所述第一進(jìn)程的調(diào)用操作進(jìn)行攔截。
這里,所述電子設(shè)備為具備處理單元,至少能夠進(jìn)行應(yīng)用處理的設(shè)備,比如,可以為智能手機(jī)、平板電腦、筆記本電腦或臺式機(jī)等任意一種設(shè)備,這里不進(jìn)行窮舉。
在執(zhí)行上述步驟301之前,本實(shí)施例提供的方法還包括有建立進(jìn)程攔截記錄的方法,具體的,所述方法還包括:
檢測第三應(yīng)用的進(jìn)程調(diào)用所述第一應(yīng)用時(shí),開啟所述第一應(yīng)用的第一進(jìn)程;
判斷所述第一應(yīng)用是否調(diào)用至少一個(gè)第二應(yīng)用,若能,則將所述第一應(yīng)用的第一進(jìn)程添加至所述進(jìn)程攔截記錄。
也就是說,所述第三應(yīng)用能夠通過任意一個(gè)插件調(diào)用第一應(yīng)用時(shí),開啟第一應(yīng)用,運(yùn)行第一應(yīng)用時(shí)開啟所述第一應(yīng)用的第一進(jìn)程。
需要理解的是,在電子設(shè)備中應(yīng)用的進(jìn)程可以記錄為進(jìn)程對應(yīng)的標(biāo)識信息,也就是進(jìn)程標(biāo)識(PID)。
上述能夠調(diào)用至少一個(gè)第二應(yīng)用可以為,所述第一應(yīng)用在開啟之后,能夠?qū)χ辽僖粋€(gè)第二應(yīng)用進(jìn)行跨進(jìn)程通信,比如,可以向第二應(yīng)用發(fā)送通知信息,并且這個(gè)操作為第一應(yīng)用拉起第二應(yīng)用的操作,具體實(shí)現(xiàn),這里不進(jìn)行贅述。
進(jìn)一步地,上述判斷所述第一進(jìn)程是否記錄在所述進(jìn)程攔截記錄,得到判斷結(jié)果,包括:
當(dāng)所述第一進(jìn)程記錄在所述進(jìn)程攔截記錄中時(shí),確定判斷結(jié)果為確定所述第一進(jìn)程為攔截進(jìn)程,否則,確定判斷結(jié)果為所述第一進(jìn)程為非攔截進(jìn)程。
相應(yīng)的,當(dāng)確定所述第一進(jìn)程為攔截進(jìn)程時(shí),確定針對所述所述第一進(jìn)程進(jìn)行攔截,也就是控制第一進(jìn)程對其他應(yīng)用的進(jìn)程進(jìn)行調(diào)用。
可見,通過采用上述方案,就能夠在一個(gè)應(yīng)用的進(jìn)程要調(diào)用其他應(yīng)用的進(jìn)程時(shí),通過檢測進(jìn)程攔截記錄判斷是否需要進(jìn)行攔截。如此,就能夠避免一個(gè)應(yīng)用頻繁的向其他應(yīng)用進(jìn)行通知或廣播等操作,而導(dǎo)致的電子設(shè)備耗電的情況,提升了電子設(shè)備的使用時(shí)長,并且減少了處理資源的耗費(fèi)。
實(shí)施例二、
本發(fā)明實(shí)施例提供了一種進(jìn)程管理方法,如圖3所示,包括:
步驟301:檢測到第一應(yīng)用的第一進(jìn)程調(diào)用至少一個(gè)第二應(yīng)用的第二進(jìn)程的操作時(shí),獲取進(jìn)程攔截記錄;其中,所述進(jìn)程攔截記錄中包括有系統(tǒng)中進(jìn)行攔截的至少一個(gè)進(jìn)程的標(biāo)識信息;
步驟302:判斷所述第一進(jìn)程是否記錄在所述進(jìn)程攔截記錄,得到判斷結(jié)果;
步驟303:基于所述判斷結(jié)果確定是否對所述第一進(jìn)程的調(diào)用操作進(jìn)行攔截。
這里,所述電子設(shè)備為具備處理單元,至少能夠進(jìn)行應(yīng)用處理的設(shè)備,比如,可以為智能手機(jī)、平板電腦、筆記本電腦或臺式機(jī)等任意一種設(shè)備,這里不進(jìn)行窮舉。
目前手機(jī)廠商上定制的ROM會針對第三方應(yīng)用進(jìn)行自啟動管控。例如,當(dāng)安裝一個(gè)使用極光推送服務(wù)的應(yīng)用并啟動后,該推送服務(wù)會將手機(jī)上使用該服務(wù)的其他應(yīng)用也拉起來。所以針對這種問題,手機(jī)廠商定制的ROM會擋掉關(guān)聯(lián)啟動的路徑。但是,有些第三方應(yīng)用發(fā)現(xiàn)無法啟動其他應(yīng)用,會去頻繁的發(fā)起啟動其他應(yīng)用的操作。導(dǎo)致手機(jī)出現(xiàn)耗電現(xiàn)象。其他包含的場景包括,頻繁發(fā)送無效的廣播消息,通知消息等。針對這種現(xiàn)象,提供一種方案,通過在RPC(Remote Procedure Call Protocol)機(jī)制上針對跨進(jìn)程調(diào)用增加一層過濾機(jī)制,針對頻繁發(fā)起呼叫的PID在傳輸前攔截。
在執(zhí)行上述步驟301之前,本實(shí)施例提供的方法還包括有建立進(jìn)程攔截記錄的方法,具體的,所述方法還包括:
檢測第三應(yīng)用的進(jìn)程調(diào)用所述第一應(yīng)用時(shí),開啟所述第一應(yīng)用的第一進(jìn)程;
判斷所述第一應(yīng)用是否調(diào)用至少一個(gè)第二應(yīng)用,若能,則將所述第一應(yīng)用的第一進(jìn)程添加至所述進(jìn)程攔截記錄。
也就是說,所述第三應(yīng)用能夠通過任意一個(gè)插件調(diào)用第一應(yīng)用時(shí),開啟第一應(yīng)用,運(yùn)行第一應(yīng)用時(shí)開啟所述第一應(yīng)用的第一進(jìn)程。
需要理解的是,在電子設(shè)備中應(yīng)用的進(jìn)程可以記錄為進(jìn)程對應(yīng)的標(biāo)識信息,也就是PID。
上述能夠調(diào)用至少一個(gè)第二應(yīng)用可以為,所述第一應(yīng)用在開啟之后,能夠?qū)χ辽僖粋€(gè)第二應(yīng)用進(jìn)行跨進(jìn)程通信,比如,可以向第二應(yīng)用發(fā)送通知信息,并且這個(gè)操作為第一應(yīng)用拉起第二應(yīng)用的操作,具體實(shí)現(xiàn),這里不進(jìn)行贅述。
進(jìn)一步地,上述判斷所述第一進(jìn)程是否記錄在所述進(jìn)程攔截記錄,得到判斷結(jié)果,包括:
當(dāng)所述第一進(jìn)程記錄在所述進(jìn)程攔截記錄中時(shí),確定判斷結(jié)果為確定所述第一進(jìn)程為攔截進(jìn)程,否則,確定判斷結(jié)果為所述第一進(jìn)程為非攔截進(jìn)程。
相應(yīng)的,當(dāng)確定所述第一進(jìn)程為攔截進(jìn)程時(shí),確定針對所述所述第一進(jìn)程進(jìn)行攔截,也就是控制第一進(jìn)程對其他應(yīng)用的進(jìn)程進(jìn)行調(diào)用。
本實(shí)施例提供具體的處理中使用的方式,參見圖4,
所述檢測第三應(yīng)用的進(jìn)程調(diào)用所述第一應(yīng)用時(shí),開啟所述第一應(yīng)用的第一進(jìn)程,包括:
檢測第三應(yīng)用的進(jìn)程調(diào)用所述第一應(yīng)用時(shí),通過接口定義語言生成客戶端和服務(wù)端;
相應(yīng)的,所述判斷所述第一應(yīng)用是否調(diào)用至少一個(gè)第二應(yīng)用,若能,則將所述第一應(yīng)用的第一進(jìn)程添加至所述進(jìn)程攔截記錄,包括:
在所述第一應(yīng)用的第一進(jìn)程通過客戶端針對至少一個(gè)第二應(yīng)用進(jìn)行跨進(jìn)程通信時(shí),確定所述第一應(yīng)用調(diào)用至少一個(gè)第二應(yīng)用;
至少獲取到所述第一進(jìn)程的標(biāo)識信息,將所述第一進(jìn)程的標(biāo)識信息添加至所述進(jìn)程攔截記錄,并保存所述進(jìn)程攔截記錄在服務(wù)端。
也就是說,在Android Binder通信中,會使用AIDL(Android Interface Definition Language)產(chǎn)生Proxy和Stub,實(shí)現(xiàn)跨進(jìn)程通信。在AIDL產(chǎn)生的Ixxx.java中針對Proxy進(jìn)行transact前,獲取當(dāng)前進(jìn)程的PID和TRANSACTION_CALL。
在Stub端記錄已攔截的PID和TRANSACTION_CALL。如圖Transcation Record模塊。
當(dāng)再次調(diào)用時(shí),當(dāng)所述客戶端檢測到第一進(jìn)程調(diào)用至少一個(gè)第二應(yīng)用時(shí),在所述服務(wù)端中獲取到進(jìn)程攔截記錄;具體的,Proxy通過Stub的Transcation Record模塊查詢已攔截消息。與當(dāng)前的PID和TRANSACTION_CALL對比,如果一致不再發(fā)起調(diào)用,起到攔截效果。
可見,通過采用上述方案,就能夠在一個(gè)應(yīng)用的進(jìn)程要調(diào)用其他應(yīng)用的進(jìn)程時(shí),通過檢測進(jìn)程攔截記錄判斷是否需要進(jìn)行攔截。如此,就能夠避免一個(gè)應(yīng)用頻繁的向其他應(yīng)用進(jìn)行通知或廣播等操作,而導(dǎo)致的電子設(shè)備耗電的情況,提升了電子設(shè)備的使用時(shí)長,并且減少了處理資源的耗費(fèi)。
實(shí)施例三、
本發(fā)明實(shí)施例提供了一種電子設(shè)備,如圖5所示,包括:
檢測單元51,用于檢測到第一應(yīng)用的第一進(jìn)程調(diào)用至少一個(gè)第二應(yīng)用的第二進(jìn)程的操作時(shí),獲取進(jìn)程攔截記錄;其中,所述進(jìn)程攔截記錄中包括有系統(tǒng)中進(jìn)行攔截的至少一個(gè)進(jìn)程的標(biāo)識信息;
處理單元52,用于判斷所述第一進(jìn)程是否記錄在所述進(jìn)程攔截記錄,得到判斷結(jié)果;基于所述判斷結(jié)果確定是否對所述第一進(jìn)程的調(diào)用操作進(jìn)行攔截。
這里,所述電子設(shè)備為具備處理單元,至少能夠進(jìn)行應(yīng)用處理的設(shè)備,比如,可以為智能手機(jī)、平板電腦、筆記本電腦或臺式機(jī)等任意一種設(shè)備,這里不進(jìn)行窮舉。
目前手機(jī)廠商上定制的ROM會針對第三方應(yīng)用進(jìn)行自啟動管控。例如,當(dāng)安裝一個(gè)使用極光推送服務(wù)的應(yīng)用并啟動后,該推送服務(wù)會將手機(jī)上使用該服務(wù)的其他應(yīng)用也拉起來。所以針對這種問題,手機(jī)廠商定制的ROM會擋掉關(guān)聯(lián)啟動的路徑。但是,有些第三方應(yīng)用發(fā)現(xiàn)無法啟動其他應(yīng)用,會去頻繁的發(fā)起啟動其他應(yīng)用的操作。導(dǎo)致手機(jī)出現(xiàn)耗電現(xiàn)象。其他包含的場景包括,頻繁發(fā)送無效的廣播消息,通知消息等。針對這種現(xiàn)象,提供一種方案,通過在RPC(Remote Procedure Call Protocol)機(jī)制上針對跨進(jìn)程調(diào)用增加一層過濾機(jī)制,針對頻繁發(fā)起呼叫的PID在傳輸前攔截。
所述檢測單元,用于檢測第三應(yīng)用的進(jìn)程調(diào)用所述第一應(yīng)用時(shí),開啟所述第一應(yīng)用的第一進(jìn)程;
處理單元,用于判斷所述第一應(yīng)用是否為能夠調(diào)用至少一個(gè)第二應(yīng)用的應(yīng)用,若是,則將所述第一應(yīng)用的第一進(jìn)程添加至所述進(jìn)程攔截記錄。
也就是說,所述第三應(yīng)用能夠通過任意一個(gè)插件調(diào)用第一應(yīng)用時(shí),開啟第一應(yīng)用,運(yùn)行第一應(yīng)用時(shí)開啟所述第一應(yīng)用的第一進(jìn)程。
需要理解的是,在電子設(shè)備中應(yīng)用的進(jìn)程可以記錄為進(jìn)程對應(yīng)的標(biāo)識信息,也就是PID。
上述能夠調(diào)用至少一個(gè)第二應(yīng)用可以為,所述第一應(yīng)用在開啟之后,能夠?qū)χ辽僖粋€(gè)第二應(yīng)用進(jìn)行跨進(jìn)程通信,比如,可以向第二應(yīng)用發(fā)送通知信息,并且這個(gè)操作為第一應(yīng)用拉起第二應(yīng)用的操作,具體實(shí)現(xiàn),這里不進(jìn)行贅述。
進(jìn)一步地,所述處理單元,用于當(dāng)所述第一進(jìn)程記錄在所述進(jìn)程攔截記錄中時(shí),確定判斷結(jié)果為確定所述第一進(jìn)程為攔截進(jìn)程,否則,確定判斷結(jié)果為所述第一進(jìn)程為非攔截進(jìn)程。
相應(yīng)的,所述處理單元,用于當(dāng)確定所述第一進(jìn)程為攔截進(jìn)程時(shí),確定針對所述所述第一進(jìn)程進(jìn)行攔截,也就是控制第一進(jìn)程對其他應(yīng)用的進(jìn)程進(jìn)行調(diào)用。
所述處理單元,用于檢測第三應(yīng)用的進(jìn)程調(diào)用所述第一應(yīng)用時(shí),通過接口定義語言生成客戶端和服務(wù)端;
在所述第一應(yīng)用的第一進(jìn)程通過客戶端針對至少一個(gè)第二應(yīng)用進(jìn)行跨進(jìn)程通信時(shí),確定所述第一應(yīng)用調(diào)用至少一個(gè)第二應(yīng)用;
至少獲取到所述第一進(jìn)程的標(biāo)識信息,將所述第一進(jìn)程的標(biāo)識信息添加至所述進(jìn)程攔截記錄,并保存所述進(jìn)程攔截記錄在服務(wù)端。
也就是說,在Android Binder通信中,會使用AIDL(Android Interface Definition Language)產(chǎn)生Proxy和Stub,實(shí)現(xiàn)跨進(jìn)程通信。在AIDL產(chǎn)生的Ixxx.java中針對Proxy進(jìn)行transact前,獲取當(dāng)前進(jìn)程的PID和TRANSACTION_CALL。
在Stub端記錄已攔截的PID和TRANSACTION_CALL。如圖Transcation Record模塊。
當(dāng)再次調(diào)用時(shí),所述處理單元,用于當(dāng)所述客戶端檢測到第一進(jìn)程調(diào)用至少一個(gè)第二應(yīng)用時(shí),在所述服務(wù)端中獲取到進(jìn)程攔截記錄;具體的,Proxy通過Stub的Transcation Record模塊查詢已攔截消息。與當(dāng)前的PID和TRANSACTION_CALL對比,如果一致不再發(fā)起調(diào)用,起到攔截效果。
可見,通過采用上述方案,就能夠在一個(gè)應(yīng)用的進(jìn)程要調(diào)用其他應(yīng)用的進(jìn)程時(shí),通過檢測進(jìn)程攔截記錄判斷是否需要進(jìn)行攔截。如此,就能夠避免一個(gè)應(yīng)用頻繁的向其他應(yīng)用進(jìn)行通知或廣播等操作,而導(dǎo)致的電子設(shè)備耗電的情況,提升了電子設(shè)備的使用時(shí)長,并且減少了處理資源的耗費(fèi)。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。