本發(fā)明實(shí)施例涉及應(yīng)用軟件技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用間的通信方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
隨著智能終端的快速發(fā)展,各種應(yīng)用程序也層出不窮,例如,按照功能劃分包括地圖應(yīng)用(例如百度地圖)、車(chē)載應(yīng)用(例如,車(chē)載導(dǎo)航、車(chē)載音樂(lè))、語(yǔ)音應(yīng)用、及打車(chē)應(yīng)用(例如,滴滴打車(chē)、優(yōu)步打車(chē))等。
根據(jù)功能,各個(gè)應(yīng)用間可能會(huì)存在某些關(guān)聯(lián)。例如,在車(chē)載場(chǎng)景下,用戶可能同時(shí)會(huì)有如下需求:使用語(yǔ)音應(yīng)用輸入需求、需要根據(jù)車(chē)載導(dǎo)航進(jìn)行導(dǎo)航、開(kāi)車(chē)過(guò)程中需要聽(tīng)聽(tīng)音樂(lè)或廣播等。在現(xiàn)有技術(shù)中,如果想要同時(shí)滿足用戶的上述需求,就需要用戶一一手動(dòng)打開(kāi)上述應(yīng)用。
可見(jiàn),在用戶需要同時(shí)需要多個(gè)應(yīng)用運(yùn)行時(shí),需要用戶頻繁的手動(dòng)操作,過(guò)程比較復(fù)雜、繁瑣、不夠智能化。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種應(yīng)用間的通信方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),可以實(shí)現(xiàn)多個(gè)應(yīng)用間的通信,使終端設(shè)備更加智能化。
第一方面,本發(fā)明實(shí)施例提供了一種應(yīng)用間的通信方法,該方法包括:
解析第一應(yīng)用的輸出信息,所述輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與所述第二應(yīng)用對(duì)應(yīng)的傳輸信息;
根據(jù)所述標(biāo)識(shí)將所述傳輸信息傳輸給所述第二應(yīng)用,以使所述第二應(yīng)用根據(jù)所述傳輸信息執(zhí)行相關(guān)操作。
第二方面,本發(fā)明實(shí)施例還提供了一種應(yīng)用間的通信裝置,該裝置包括:
信息解析模塊,用于解析第一應(yīng)用的輸出信息,所述輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與所述第二應(yīng)用對(duì)應(yīng)的傳輸信息;
信息傳輸模塊,用于根據(jù)所述標(biāo)識(shí)將所述傳輸信息傳輸給所述第二應(yīng)用,以使所述第二應(yīng)用根據(jù)所述傳輸信息執(zhí)行相關(guān)操作。
第三方面,本發(fā)明實(shí)施例還提供了一種設(shè)備,包括:
一個(gè)或多個(gè)處理器;
存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,
當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本發(fā)明實(shí)施例任一所述的應(yīng)用間的通信方法。
第四方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明實(shí)施例任一所述的應(yīng)用間的通信方法。
本發(fā)明實(shí)施例通過(guò)解析第一應(yīng)用的輸出信息,根據(jù)輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí),將對(duì)應(yīng)的傳輸信息傳輸給第二應(yīng)用,以使所述第二應(yīng)用根據(jù)所述傳輸信息執(zhí)行相關(guān)操作,可以實(shí)現(xiàn)多個(gè)應(yīng)用間的通信,使終端設(shè)備更加智能化。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例一提供的一種應(yīng)用間的通信方法的流程圖;
圖2a是本發(fā)明實(shí)施例二提供的一種應(yīng)用間的通信方法的流程圖;
圖2b是本發(fā)明實(shí)施例二提供的一種應(yīng)用間的通信方法中的應(yīng)用間對(duì)應(yīng)關(guān)系示意圖;
圖3是本發(fā)明實(shí)施例三提供的一種應(yīng)用間的通信方法的流程圖;
圖4是本發(fā)明實(shí)施例四提供的一種應(yīng)用間的通信裝置的結(jié)構(gòu)圖;
圖5是本發(fā)明實(shí)施例五提供的一種計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例作進(jìn)一步的詳細(xì)描述。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。
另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作(或步驟)描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
實(shí)施例一
圖1為本發(fā)明實(shí)施例一提供的一種應(yīng)用間的通信方法的流程圖,本實(shí)施例可適用于不同應(yīng)用間進(jìn)行通信的情況,該方法可以由本發(fā)明實(shí)施例提供的應(yīng)用間的通信裝置來(lái)執(zhí)行,該裝置可采用軟件和/或硬件的方式實(shí)現(xiàn),該裝置可集成在終端設(shè)備中或終端設(shè)備的應(yīng)用端中。其中,終端設(shè)備可以為但不限于為移動(dòng)終端(平板電腦或智能手機(jī)),或固定終端(例如,臺(tái)式電腦),或穿戴設(shè)備(例如,智能手機(jī)、運(yùn)動(dòng)手環(huán)等)。
其中,應(yīng)用端可以為內(nèi)嵌于終端設(shè)備中的某個(gè)客戶端的插件,或者為所述終端設(shè)備的操作系統(tǒng)的插件,與內(nèi)嵌于終端設(shè)備中的應(yīng)用間的通信客戶端或者終端設(shè)備的操作系統(tǒng)中的應(yīng)用間的通信應(yīng)用程序配合使用;應(yīng)用端也可以為所述終端設(shè)備中一個(gè)獨(dú)立的可提供應(yīng)用間的通信的客戶端,本實(shí)施例對(duì)此不進(jìn)行限制。
如圖1所述,本實(shí)施例的方法具體包括:
s101、解析第一應(yīng)用的輸出信息,輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與第二應(yīng)用對(duì)應(yīng)的傳輸信息。
其中,在本場(chǎng)景中,第一應(yīng)用和第二應(yīng)用為不同的兩個(gè)應(yīng)用。例如,第一應(yīng)用和第二應(yīng)用均可以為但不限于為語(yǔ)音應(yīng)用、導(dǎo)航應(yīng)用、即時(shí)聊天應(yīng)用(例如,qq應(yīng)用、微信應(yīng)用等)、電話應(yīng)用等。
具體的,可預(yù)先建立第一應(yīng)用和第二應(yīng)用之間的關(guān)聯(lián),例如,在第一應(yīng)用的輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí),以便于在后續(xù)通信時(shí),快速查找到該應(yīng)用。其中標(biāo)識(shí)包括但不限于為應(yīng)用名稱(chēng)、應(yīng)用所在位置等。
例如,在用戶駕駛車(chē)輛的過(guò)程中,想通過(guò)語(yǔ)音應(yīng)用打開(kāi)導(dǎo)航應(yīng)用、音樂(lè)應(yīng)用的場(chǎng)景下,這時(shí),就需要語(yǔ)音應(yīng)用與導(dǎo)航應(yīng)用、音樂(lè)應(yīng)用建立通信連接,并將相應(yīng)的指令傳遞給導(dǎo)航應(yīng)用和音樂(lè)應(yīng)用。此時(shí),用戶可通過(guò)語(yǔ)音應(yīng)用輸入語(yǔ)音信息。例如,輸入語(yǔ)音“打開(kāi)導(dǎo)航應(yīng)用和音樂(lè)應(yīng)用”,此時(shí)語(yǔ)音應(yīng)用接收到上述信息后進(jìn)行語(yǔ)音識(shí)別處理,得到對(duì)應(yīng)的關(guān)鍵詞“打開(kāi)”、“導(dǎo)航應(yīng)用”和“音樂(lè)應(yīng)用”,并將上述信息作為輸出信息,發(fā)送給本發(fā)明實(shí)施例提供的應(yīng)用間的通信裝置或集成了該應(yīng)用間的通信裝置的終端設(shè)備。裝置或終端設(shè)備通過(guò)解析上述輸出信息,即可獲取到對(duì)應(yīng)的應(yīng)用的標(biāo)識(shí)“導(dǎo)航應(yīng)用”和“音樂(lè)應(yīng)用”,以及指令“打開(kāi)”。
s102、根據(jù)標(biāo)識(shí)將傳輸信息傳輸給第二應(yīng)用,以使第二應(yīng)用根據(jù)傳輸信息執(zhí)行相關(guān)操作。
具體的,首先保證標(biāo)識(shí)、應(yīng)用和傳輸信息一一對(duì)應(yīng),然后根據(jù)標(biāo)識(shí)找到對(duì)應(yīng)的應(yīng)用,將傳輸信息傳輸給該應(yīng)用。如上述步驟中的例子,“音樂(lè)”、音樂(lè)應(yīng)用和指令“打開(kāi)”對(duì)應(yīng)、“導(dǎo)航”、導(dǎo)航應(yīng)用和指令“打開(kāi)”對(duì)應(yīng),首先根據(jù)標(biāo)識(shí)“音樂(lè)”,找到對(duì)應(yīng)的音樂(lè)應(yīng)用,將指令“打開(kāi)”傳輸給音樂(lè)應(yīng)用,音樂(lè)應(yīng)用收到指令后自動(dòng)啟動(dòng)打開(kāi)。同理,針對(duì)導(dǎo)航應(yīng)用,首先根據(jù)標(biāo)識(shí)“導(dǎo)航”,找到對(duì)應(yīng)的導(dǎo)航應(yīng)用,將指令“打開(kāi)”傳輸給導(dǎo)航應(yīng)用,導(dǎo)航應(yīng)用收到指令后自動(dòng)啟動(dòng)打開(kāi)。這樣,就避免了用戶在同時(shí)使用多個(gè)應(yīng)用時(shí),多次手動(dòng)打開(kāi),使終端設(shè)備更加智能化。
本實(shí)施例通過(guò)解析第一應(yīng)用的輸出信息,根據(jù)輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí),將對(duì)應(yīng)的傳輸信息傳輸給第二應(yīng)用,以使第二應(yīng)用根據(jù)傳輸信息執(zhí)行相關(guān)操作,可以實(shí)現(xiàn)多個(gè)應(yīng)用間的通信,使終端設(shè)備更加智能化。
實(shí)施例二
圖2a是本發(fā)明實(shí)施例二提供的一種應(yīng)用間的通信方法的流程圖。本實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,進(jìn)一步將步驟根據(jù)標(biāo)識(shí)將傳輸信息傳輸給第二應(yīng)用優(yōu)化為:通過(guò)已建立的數(shù)據(jù)連接通道將傳輸信息傳輸給第二應(yīng)用;所述數(shù)據(jù)連接通道建立在所述第一應(yīng)用中集成的第一sdk與所述第二應(yīng)用中集成的第二sdk之間。
相應(yīng)的,如圖2a所示,本實(shí)施例的方法具體包括:
s201、解析第一應(yīng)用的輸出信息,輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與所述第二應(yīng)用對(duì)應(yīng)的傳輸信息。
s202、通過(guò)已建立的數(shù)據(jù)連接通道將傳輸信息傳輸給第二應(yīng)用,以使第二應(yīng)用根據(jù)傳輸信息執(zhí)行相關(guān)操作;數(shù)據(jù)連接通道建立在第一應(yīng)用中集成的第一軟件開(kāi)發(fā)工具包(softwaredevelopmentkit,sdk)與第二應(yīng)用中集成的第二sdk之間。
其中,第一sdk用于實(shí)現(xiàn)客戶端進(jìn)程,以使第一應(yīng)用充當(dāng)客戶端;第二sdk用于實(shí)現(xiàn)服務(wù)端進(jìn)程,以使第二應(yīng)用充當(dāng)服務(wù)器。具體的,可預(yù)先在第一應(yīng)用中集成第一sdk,在第二應(yīng)用中集成第二sdk,在第一sdk和第二sdk間建立數(shù)據(jù)連接通道。
例如,在安卓系統(tǒng)中,兩個(gè)sdk之間可以通過(guò)接口描述語(yǔ)言(interfacedefinitionlanguage,aidl)進(jìn)行通信,第一應(yīng)用作為client端,第二應(yīng)用作為server端,從而建立連接并傳輸指令和數(shù)據(jù)。
其中,第二應(yīng)用中可以包含多個(gè)子應(yīng)用,當(dāng)?shù)诙?yīng)用中包含多個(gè)子應(yīng)用時(shí),本步驟一種可實(shí)現(xiàn)的實(shí)施方式是,通過(guò)解析傳輸信息獲取需要使用的子應(yīng)用標(biāo)識(shí),傳輸信息中包含子應(yīng)用標(biāo)識(shí)和傳輸數(shù)據(jù);根據(jù)子應(yīng)用標(biāo)識(shí)將傳輸數(shù)據(jù)發(fā)給對(duì)應(yīng)的子應(yīng)用。
例如,在車(chē)載應(yīng)用中,其可能包含導(dǎo)航子應(yīng)用、音樂(lè)子應(yīng)用、電話子應(yīng)用等。在這種情況下,首先建立第一應(yīng)用和第二應(yīng)用的關(guān)聯(lián),然后建立第二應(yīng)用與子應(yīng)用的關(guān)聯(lián)。如圖2b所示,在第一應(yīng)用中集成第一sdk,在第二應(yīng)用(例如車(chē)載應(yīng)用)中集成第二sdk,兩個(gè)sdk之間建立aidl通信連接。通過(guò)解析第一應(yīng)用的輸出信息,根據(jù)得到的標(biāo)識(shí)確定第二應(yīng)用,并將傳輸信息傳輸給第二應(yīng)用,第二sdk根據(jù)傳輸信息中包含的子應(yīng)用標(biāo)識(shí),將對(duì)應(yīng)的傳輸數(shù)據(jù)傳輸給對(duì)應(yīng)的子應(yīng)用,子應(yīng)用根據(jù)傳輸數(shù)據(jù)執(zhí)行相關(guān)的操作。
本實(shí)施例通過(guò)在第一應(yīng)用中集成第一sdk,在第二應(yīng)用中集成第二sdk,在第一sdk和第二sdk間建立數(shù)據(jù)連接通道,通過(guò)數(shù)據(jù)連接通道將對(duì)應(yīng)的傳輸信息傳輸給第二應(yīng)用,可以實(shí)現(xiàn)多個(gè)應(yīng)用間的通信,使終端設(shè)備更加智能化。
實(shí)施例三
圖3是本發(fā)明實(shí)施例三提供的一種應(yīng)用間的通信方法的流程圖。本實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,進(jìn)一步將步驟通過(guò)已建立的數(shù)據(jù)連接通道將傳輸信息傳輸給第二應(yīng)用優(yōu)化為:根據(jù)第一應(yīng)用的注冊(cè)連接請(qǐng)求,在onbind函數(shù)中返回mbinder對(duì)象,mbinder對(duì)象中定義了register接口,以使第一應(yīng)用通過(guò)register接口將注冊(cè)連接請(qǐng)求發(fā)送至第二應(yīng)用,以便完成注冊(cè)。
相應(yīng)的,如圖3所示,本實(shí)施例的方法具體包括:
s301、解析第一應(yīng)用的輸出信息,輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與第二應(yīng)用對(duì)應(yīng)的傳輸信息。
s302、當(dāng)?shù)谝粦?yīng)用與第二應(yīng)用建立數(shù)據(jù)連接通道后,通過(guò)第一應(yīng)用主動(dòng)調(diào)用mbinder對(duì)象中定義的send接口,并將實(shí)現(xiàn)了send接口的mcallback函數(shù)傳輸給第二應(yīng)用,以使所述第二應(yīng)用通過(guò)register接口將對(duì)應(yīng)的反饋數(shù)據(jù)發(fā)送到第一應(yīng)用。
此外,在數(shù)據(jù)通信之前還包括:根據(jù)第一應(yīng)用的注冊(cè)連接請(qǐng)求,在onbind函數(shù)中返回mbinder對(duì)象,mbinder對(duì)象中定義了register接口,以使第一應(yīng)用通過(guò)register接口將注冊(cè)連接請(qǐng)求發(fā)送至第二應(yīng)用,以便完成注冊(cè)。在完成注冊(cè)后,第一應(yīng)用與第二應(yīng)用建立連接進(jìn)行數(shù)據(jù)通信。
本實(shí)施例基于安卓系統(tǒng)中的函數(shù)實(shí)現(xiàn),簡(jiǎn)化了方案實(shí)現(xiàn)過(guò)程。
實(shí)施例四
圖4是本發(fā)明實(shí)施例四提供的一種應(yīng)用間的通信裝置的結(jié)構(gòu)圖。本實(shí)施例可適用于不同應(yīng)用間進(jìn)行通信的情況,該裝置可采用軟件和/或硬件的方式實(shí)現(xiàn),該裝置可集成在終端設(shè)備中或終端設(shè)備的應(yīng)用端中。其中,終端設(shè)備可以為但不限于為移動(dòng)終端(平板電腦或智能手機(jī)),或固定終端(例如,臺(tái)式電腦),或穿戴設(shè)備(例如,智能手機(jī)、運(yùn)動(dòng)手環(huán)等)。
其中,應(yīng)用端可以為內(nèi)嵌于終端設(shè)備中的某個(gè)客戶端的插件,或者為所述終端設(shè)備的操作系統(tǒng)的插件,與內(nèi)嵌于終端設(shè)備中的應(yīng)用間的通信客戶端或者終端設(shè)備的操作系統(tǒng)中的應(yīng)用間的通信應(yīng)用程序配合使用;應(yīng)用端也可以為所述終端設(shè)備中一個(gè)獨(dú)立的可提供應(yīng)用間的通信的客戶端,本實(shí)施例對(duì)此不進(jìn)行限制。
如圖4所示,所述裝置包括:信息解析模塊401和信息傳輸模塊402,其中:
信息解析模塊401用于解析第一應(yīng)用的輸出信息,輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與所述第二應(yīng)用對(duì)應(yīng)的傳輸信息;
信息傳輸模塊402用于根據(jù)標(biāo)識(shí)將傳輸信息傳輸給第二應(yīng)用,以使第二應(yīng)用根據(jù)傳輸信息執(zhí)行相關(guān)操作。
本實(shí)施例的應(yīng)用間的通信裝置用于執(zhí)行上述各實(shí)施例的應(yīng)用間的通信方法,其技術(shù)原理和產(chǎn)生的技術(shù)效果類(lèi)似,這里不再贅述。
在上述各實(shí)施例的基礎(chǔ)上,信息傳輸模塊402具體用于;
通過(guò)已建立的數(shù)據(jù)連接通道將傳輸信息傳輸給第二應(yīng)用;所述數(shù)據(jù)連接通道建立在所述第一應(yīng)用中集成的第一sdk與所述第二應(yīng)用中集成的第二sdk之間。
在上述各實(shí)施例的基礎(chǔ)上,信息傳輸模塊402具體用于,如果第二應(yīng)用中包含多個(gè)子應(yīng)用,通過(guò)解析傳輸信息獲取需要使用的子應(yīng)用標(biāo)識(shí);根據(jù)子應(yīng)用標(biāo)識(shí)將傳輸數(shù)據(jù)發(fā)給對(duì)應(yīng)的子應(yīng)用。
在上述各實(shí)施例的基礎(chǔ)上,第一sdk用于實(shí)現(xiàn)客戶端進(jìn)程,以使第一應(yīng)用充當(dāng)客戶端;第二sdk用于實(shí)現(xiàn)服務(wù)端進(jìn)程,以使第二應(yīng)用充當(dāng)服務(wù)器。
在上述各實(shí)施例的基礎(chǔ)上,信息傳輸單元4022具體用于,當(dāng)?shù)谝粦?yīng)用與第二應(yīng)用建立數(shù)據(jù)連接通道后,通過(guò)第一應(yīng)用主動(dòng)調(diào)用mbinder對(duì)象中定義的send接口,并將實(shí)現(xiàn)了send接口的mcallback函數(shù)傳輸給第二應(yīng)用,以使第二應(yīng)用通過(guò)register接口將對(duì)應(yīng)的反饋數(shù)據(jù)發(fā)送到第一應(yīng)用。
在上述各實(shí)施例的基礎(chǔ)上,信息傳輸模塊402還用于,根據(jù)第一應(yīng)用的注冊(cè)連接請(qǐng)求,在onbind函數(shù)中返回mbinder對(duì)象,mbinder對(duì)象中定義了register接口,以使第一應(yīng)用通過(guò)register接口將注冊(cè)連接請(qǐng)求發(fā)送至第二應(yīng)用,以便完成注冊(cè)。
上述各實(shí)施例所提供的應(yīng)用間的通信裝置可執(zhí)行本發(fā)明任意實(shí)施例所提供的應(yīng)用間的通信方法,具備執(zhí)行應(yīng)用間的通信方法相應(yīng)的功能模塊和有益效果。
實(shí)施例五
圖5為本發(fā)明實(shí)施例五提供的一種設(shè)備的結(jié)構(gòu)示意圖。圖5示出了適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)設(shè)備12的框圖。圖5顯示的計(jì)算機(jī)設(shè)備12僅僅是一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使用范圍帶來(lái)任何限制。
如圖5所示,計(jì)算機(jī)設(shè)備12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)設(shè)備12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18。
總線18表示幾類(lèi)總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來(lái)說(shuō),這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(isa)總線,微通道體系結(jié)構(gòu)(mac)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(vesa)局域總線以及外圍組件互連(pci)總線。
計(jì)算機(jī)設(shè)備12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)設(shè)備12訪問(wèn)的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。
系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(ram)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)設(shè)備12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫(xiě)不可移動(dòng)的、非易失性磁介質(zhì)(圖5未顯示,通常稱(chēng)為“硬盤(pán)驅(qū)動(dòng)器”)。盡管圖5中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(pán)(例如“軟盤(pán)”)讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(pán)(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過(guò)一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
計(jì)算機(jī)設(shè)備12也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤(pán)、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)設(shè)備12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)設(shè)備12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過(guò)輸入/輸出(i/o)接口22進(jìn)行。并且,計(jì)算機(jī)設(shè)備12還可以通過(guò)網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖5所示,網(wǎng)絡(luò)適配器20通過(guò)總線18與計(jì)算機(jī)設(shè)備12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計(jì)算機(jī)設(shè)備12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤(pán)驅(qū)動(dòng)陣列、raid系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。
處理單元16通過(guò)運(yùn)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的應(yīng)用間的通信方法:
解析第一應(yīng)用的輸出信息,所述輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與所述第二應(yīng)用對(duì)應(yīng)的傳輸信息;
根據(jù)所述標(biāo)識(shí)將所述傳輸信息傳輸給所述第二應(yīng)用,以使所述第二應(yīng)用根據(jù)所述傳輸信息執(zhí)行相關(guān)操作。
進(jìn)一步的,所述根據(jù)所述標(biāo)識(shí)將所述傳輸信息傳輸給所述第二應(yīng)用包括:
通過(guò)已建立的數(shù)據(jù)連接通道將所述傳輸信息傳輸給所述第二應(yīng)用;所述數(shù)據(jù)連接通道建立在所述第一應(yīng)用中集成的第一sdk與所述第二應(yīng)用中集成的第二sdk之間。
進(jìn)一步的,所述傳輸信息中包含子應(yīng)用標(biāo)識(shí)和傳輸數(shù)據(jù),則所述通過(guò)已建立的數(shù)據(jù)連接通道將所述傳輸信息傳輸給所述第二應(yīng)用包括:
如果所述第二應(yīng)用中包含多個(gè)子應(yīng)用,通過(guò)解析所述傳輸信息獲取需要使用的子應(yīng)用標(biāo)識(shí);
根據(jù)所述子應(yīng)用標(biāo)識(shí)將所述傳輸數(shù)據(jù)發(fā)給對(duì)應(yīng)的子應(yīng)用。
進(jìn)一步的,所述第一sdk用于實(shí)現(xiàn)客戶端進(jìn)程,以使所述第一應(yīng)用充當(dāng)客戶端;所述第二sdk用于實(shí)現(xiàn)服務(wù)端進(jìn)程,以使所述第二應(yīng)用充當(dāng)服務(wù)器。
進(jìn)一步的,所述通過(guò)已建立的數(shù)據(jù)連接通道將所述傳輸信息傳輸給所述第二應(yīng)用包括:
當(dāng)所述第一應(yīng)用與所述第二應(yīng)用建立數(shù)據(jù)連接通道后,通過(guò)所述第一應(yīng)用主動(dòng)調(diào)用mbinder對(duì)象中定義的send接口,并將實(shí)現(xiàn)了send接口的mcallback函數(shù)傳輸給所述第二應(yīng)用,以使所述第二應(yīng)用通過(guò)所述register接口將對(duì)應(yīng)的反饋數(shù)據(jù)發(fā)送到所述第一應(yīng)用。
進(jìn)一步的,所述方法還包括:
根據(jù)所述第一應(yīng)用的注冊(cè)連接請(qǐng)求,在onbind函數(shù)中返回mbinder對(duì)象,所述mbinder對(duì)象中定義了register接口,以使所述第一應(yīng)用通過(guò)所述register接口將所述注冊(cè)連接請(qǐng)求發(fā)送至所述第二應(yīng)用,以便完成注冊(cè)。
實(shí)施例六
本發(fā)明實(shí)施例6還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本申請(qǐng)所有發(fā)明實(shí)施例提供的應(yīng)用間的通信方法:
解析第一應(yīng)用的輸出信息,所述輸出信息中包含至少一個(gè)第二應(yīng)用的標(biāo)識(shí)和與所述第二應(yīng)用對(duì)應(yīng)的傳輸信息;
根據(jù)所述標(biāo)識(shí)將所述傳輸信息傳輸給所述第二應(yīng)用,以使所述第二應(yīng)用根據(jù)所述傳輸信息執(zhí)行相關(guān)操作。
進(jìn)一步的,所述根據(jù)所述標(biāo)識(shí)將所述傳輸信息傳輸給所述第二應(yīng)用包括:
通過(guò)已建立的數(shù)據(jù)連接通道將所述傳輸信息傳輸給所述第二應(yīng)用。
進(jìn)一步的,所述傳輸信息中包含子應(yīng)用標(biāo)識(shí)和傳輸數(shù)據(jù),則所述通過(guò)已建立的數(shù)據(jù)連接通道將所述傳輸信息傳輸給所述第二應(yīng)用包括:
如果所述第二應(yīng)用中包含多個(gè)子應(yīng)用,通過(guò)解析所述傳輸信息獲取需要使用的子應(yīng)用標(biāo)識(shí);
根據(jù)所述子應(yīng)用標(biāo)識(shí)將所述傳輸數(shù)據(jù)發(fā)給對(duì)應(yīng)的子應(yīng)用。
進(jìn)一步的,所述第一sdk用于實(shí)現(xiàn)客戶端進(jìn)程,以使所述第一應(yīng)用充當(dāng)客戶端;所述第二sdk用于實(shí)現(xiàn)服務(wù)端進(jìn)程,以使所述第二應(yīng)用充當(dāng)服務(wù)器。
進(jìn)一步的,所述通過(guò)已建立的數(shù)據(jù)連接通道將所述傳輸信息傳輸給所述第二應(yīng)用包括:
當(dāng)所述第一應(yīng)用與所述第二應(yīng)用建立數(shù)據(jù)連接通道后,通過(guò)所述第一應(yīng)用主動(dòng)調(diào)用mbinder對(duì)象中定義的send接口,并將實(shí)現(xiàn)了send接口的mcallback函數(shù)傳輸給所述第二應(yīng)用,以使所述第二應(yīng)用通過(guò)所述register接口將對(duì)應(yīng)的反饋數(shù)據(jù)發(fā)送到所述第一應(yīng)用。
進(jìn)一步的,所述方法還包括:
根據(jù)所述第一應(yīng)用的注冊(cè)連接請(qǐng)求,在onbind函數(shù)中返回mbinder對(duì)象,所述mbinder對(duì)象中定義了register接口,以使所述第二應(yīng)用通過(guò)所述register接口將所述注冊(cè)連接請(qǐng)求發(fā)送至所述第二應(yīng)用,以便完成注冊(cè)。
本發(fā)明實(shí)施例的計(jì)算機(jī)存儲(chǔ)介質(zhì),可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、光纖、便攜式緊湊磁盤(pán)只讀存儲(chǔ)器(cd-rom)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括但不限于電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于無(wú)線、電線、光纜、rf等等,或者上述的任意合適的組合。
可以以一種或多種程序設(shè)計(jì)語(yǔ)言或其組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言—諸如java、smalltalk、c++,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言—諸如“c”語(yǔ)言或類(lèi)似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。