第一組件。
[0055] 作為一種可選實(shí)施例,根據(jù)第一應(yīng)用的調(diào)用需求,在第二應(yīng)用的數(shù)據(jù)目錄中,確定 第一組件之前,還包括:
[0056] 將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè)置為互相可見。
[0057] 作為一種可選實(shí)施例,將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè)置為互相可見,包括:
[0058] 將第一應(yīng)用與第二應(yīng)用設(shè)置為相同的分享標(biāo)識(shí);
[0059] 通過相同的證書為第一應(yīng)用及第二應(yīng)用進(jìn)行簽名。
[0060] 作為一種可選實(shí)施例,對(duì)第一組件進(jìn)行包裝,得到第二組件,包括:
[0061] 創(chuàng)建第一組件的包裝類,將包裝類作為第二組件;
[0062] 或者,創(chuàng)建第一組件的派生類,將派生類作為第二組件。
[0063] 上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再 --贅述。
[0064] 圖2是根據(jù)一示例性實(shí)施例示出的一種組件調(diào)用方法流程圖,如圖2所示,該組件 調(diào)用方法應(yīng)用于終端中,包括以下步驟。
[0065] 在步驟201中,根據(jù)第一應(yīng)用的調(diào)用需求,確定第二應(yīng)用的包名及第一組件名,第 一組件為第一應(yīng)用在運(yùn)行過程中被調(diào)用的組件。
[0066] 由于本實(shí)施例提供的方法是在運(yùn)行一個(gè)應(yīng)用時(shí),調(diào)用另一個(gè)應(yīng)用的組件,而不同 應(yīng)用之間通常有權(quán)限限制,不能互相訪問雙方的數(shù)據(jù)。因此,為了第一應(yīng)用能夠訪問到第二 應(yīng)用的數(shù)據(jù),在執(zhí)行本步驟201之前,還可以將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè)置為互相 可見。
[0067] 本實(shí)施例不對(duì)將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè)置為互相可見的方式作具體限 定,包括但不限于:將第一應(yīng)用與第二應(yīng)用設(shè)置為相同的分享標(biāo)識(shí);通過相同的證書為第 一應(yīng)用及第二應(yīng)用進(jìn)行簽名。
[0068] 例如,以第一應(yīng)用與第二應(yīng)用均為安卓Android中的應(yīng)用為例。在Android系統(tǒng) 中,每個(gè)應(yīng)用都有一個(gè)分享標(biāo)識(shí)ShareUserld。當(dāng)應(yīng)用之間擁有不同的ShareUserID時(shí),貝Ij 每個(gè)應(yīng)用下的數(shù)據(jù)會(huì)被設(shè)置為只對(duì)該應(yīng)用自身可見,其它應(yīng)用不可見。因此,可將兩個(gè)應(yīng)用 設(shè)置為相同的ShareUserlD,從而兩個(gè)應(yīng)用下的數(shù)據(jù)能夠互相可見。
[0069] 另外,由于在通過上述方法實(shí)現(xiàn)數(shù)據(jù)共享時(shí),兩個(gè)應(yīng)用需要通過相同的簽名 文件進(jìn)行簽名,即需通過相同的證書進(jìn)行簽名,否則應(yīng)用安裝時(shí)會(huì)失敗,出現(xiàn)的錯(cuò)誤為 [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]。因此,可通過相同的證書為第一應(yīng)用及第 二應(yīng)用進(jìn)行簽名。
[0070] 在將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè)置為互相可見后,可根據(jù)第一應(yīng)用的調(diào)用需 求,確定第二應(yīng)用的包名及第一組件名。其中,第一應(yīng)用的調(diào)用需求可為第一應(yīng)用的執(zhí)行邏 輯,通過第一應(yīng)用的執(zhí)行邏輯,確定第一應(yīng)用在執(zhí)行過程需要實(shí)現(xiàn)的功能,從而確定實(shí)現(xiàn)該 功能所需的第一組件名以及第一組件所從屬的第二應(yīng)用的包名。
[0071] 例如,以第一應(yīng)用為即使通訊應(yīng)用為例。第一應(yīng)用可能需要提供查詢地圖的功能, 此時(shí),第二應(yīng)用可以為地圖應(yīng)用,從而可確定地圖應(yīng)用的包名及地圖查詢組件名。
[0072] 在步驟202中,根據(jù)第二應(yīng)用的包名與數(shù)據(jù)目錄的對(duì)應(yīng)關(guān)系,確定第二應(yīng)用的數(shù) 據(jù)目錄。
[0073] 其中,第二應(yīng)用的數(shù)據(jù)目錄可以為第二應(yīng)用在終端上的安裝文件夾,其中,數(shù)據(jù)目 錄用于存儲(chǔ)該第二應(yīng)用的安裝相關(guān)數(shù)據(jù),第二應(yīng)用的數(shù)據(jù)目錄可在第二應(yīng)用包在終端上安 裝時(shí)生成,且第二應(yīng)用的包名與數(shù)據(jù)目錄的對(duì)應(yīng)關(guān)系可在本地通過數(shù)據(jù)表的形式進(jìn)行存 儲(chǔ),本實(shí)施例對(duì)此不作具體限定。具體地,存儲(chǔ)內(nèi)容可如下表1所示:
[0074] 表 1
[0075]
【主權(quán)項(xiàng)】
1. 一種組件調(diào)用方法,其特征在于,所述方法包括: 根據(jù)第一應(yīng)用的調(diào)用需求,在第二應(yīng)用的數(shù)據(jù)目錄中,確定第一組件,所述第一組件為 所述第一應(yīng)用在運(yùn)行過程中被調(diào)用的組件; 對(duì)所述第一組件進(jìn)行包裝,得到第二組件,所述第二組件的進(jìn)程配置信息為所述第一 應(yīng)用的包名; 在所述第一應(yīng)用的運(yùn)行過程中,當(dāng)檢測(cè)到對(duì)所述第二組件的調(diào)用指令時(shí),在運(yùn)行所述 第一應(yīng)用的進(jìn)程中,運(yùn)行所述第二組件。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)第一應(yīng)用的調(diào)用需求,在第二應(yīng) 用的數(shù)據(jù)目錄中,確定第一組件,包括: 根據(jù)第一應(yīng)用的調(diào)用需求,確定第二應(yīng)用的包名及第一組件名; 根據(jù)所述第二應(yīng)用的包名與數(shù)據(jù)目錄的對(duì)應(yīng)關(guān)系,確定所述第二應(yīng)用的數(shù)據(jù)目錄; 根據(jù)所述第一組件名,在所述第二應(yīng)用的數(shù)據(jù)目錄下進(jìn)行查找,找到對(duì)應(yīng)的第一組件。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)第一應(yīng)用的調(diào)用需求,在第二應(yīng) 用的數(shù)據(jù)目錄中,確定第一組件之前,還包括: 將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè)置為互相可見。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè) 置為互相可見,包括: 將所述第一應(yīng)用與所述第二應(yīng)用設(shè)置為相同的分享標(biāo)識(shí); 通過相同的證書為所述第一應(yīng)用及所述第二應(yīng)用進(jìn)行簽名。
5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)所述第一組件進(jìn)行包裝,得到第二 組件,包括: 創(chuàng)建所述第一組件的包裝類,將所述包裝類作為第二組件; 或者,創(chuàng)建所述第一組件的派生類,將所述派生類作為第二組件。
6. -種組件調(diào)用裝置,其特征在于,所述裝置包括: 確定模塊,用于根據(jù)第一應(yīng)用的調(diào)用需求,在第二應(yīng)用的數(shù)據(jù)目錄中,確定第一組件, 所述第一組件為所述第一應(yīng)用在運(yùn)行過程中被調(diào)用的組件; 包裝模塊,用于對(duì)所述第一組件進(jìn)行包裝,得到第二組件,所述第二組件的進(jìn)程配置信 息為所述第一應(yīng)用的包名; 運(yùn)行模塊,用于在所述第一應(yīng)用的運(yùn)行過程中,當(dāng)檢測(cè)到對(duì)所述第二組件的調(diào)用指令 時(shí),在運(yùn)行所述第一應(yīng)用的進(jìn)程中,運(yùn)行所述第二組件。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述確定模塊,用于根據(jù)第一應(yīng)用的調(diào)用 需求,確定第二應(yīng)用的包名及第一組件名;根據(jù)所述第二應(yīng)用的包名與數(shù)據(jù)目錄的對(duì)應(yīng)關(guān) 系,確定所述第二應(yīng)用的數(shù)據(jù)目錄;根據(jù)所述第一組件名,在所述第二應(yīng)用的數(shù)據(jù)目錄下進(jìn) 行查找,找到對(duì)應(yīng)的第一組件。
8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 設(shè)置模塊,用于將第一應(yīng)用與第二應(yīng)用下的數(shù)據(jù)設(shè)置為互相可見。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述設(shè)置模塊,用于將所述第一應(yīng)用與所 述第二應(yīng)用設(shè)置為相同的分享標(biāo)識(shí);通過相同的證書為所述第一應(yīng)用及所述第二應(yīng)用進(jìn)行 簽名。
10. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述包裝模塊,用于創(chuàng)建所述第一組件 的包裝類,將所述包裝類作為第二組件;或者,創(chuàng)建所述第一組件的派生類,將所述派生類 作為第二組件。
11. 一種終端,其特征在于,包括: 處理器; 用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 根據(jù)第一應(yīng)用的調(diào)用需求,在第二應(yīng)用的數(shù)據(jù)目錄中,確定第一組件,所述第一組件為 所述第一應(yīng)用在運(yùn)行過程中被調(diào)用的組件; 對(duì)所述第一組件進(jìn)行包裝,得到第二組件,所述第二組件的進(jìn)程配置信息為所述第一 應(yīng)用的包名; 在所述第一應(yīng)用的運(yùn)行過程中,當(dāng)檢測(cè)到對(duì)所述第二組件的調(diào)用指令時(shí),在運(yùn)行所述 第一應(yīng)用的進(jìn)程中,運(yùn)行所述第二組件。
【專利摘要】本公開是關(guān)于一種組件調(diào)用方法及裝置,屬于計(jì)算機(jī)技術(shù)領(lǐng)域。所述方法包括:根據(jù)第一應(yīng)用的調(diào)用需求,在第二應(yīng)用的數(shù)據(jù)目錄中,確定第一組件;對(duì)第一組件進(jìn)行包裝,得到第二組件;在第一應(yīng)用的運(yùn)行過程中,當(dāng)檢測(cè)到對(duì)第二組件的調(diào)用指令時(shí),在運(yùn)行第一應(yīng)用的進(jìn)程中,運(yùn)行第二組件。本發(fā)明通過在第二應(yīng)用的數(shù)據(jù)目錄中,確定第一組件,對(duì)第一組件進(jìn)行包裝,得到第二組件,在第一應(yīng)用的運(yùn)行過程中,當(dāng)檢測(cè)到對(duì)第二組件的調(diào)用指令時(shí),在運(yùn)行第一應(yīng)用的進(jìn)程中,運(yùn)行第二組件。由于調(diào)用的第二組件運(yùn)行在第一應(yīng)用的進(jìn)程中,第一應(yīng)用的進(jìn)程仍處于前臺(tái),能避免應(yīng)用進(jìn)程因處于后臺(tái)而被終止的可能性,從而提高了系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性。
【IPC分類】G06F9-54
【公開號(hào)】CN104765646
【申請(qǐng)?zhí)枴緾N201510118066
【發(fā)明人】江波, 蔣黎峰, 謝哲
【申請(qǐng)人】小米科技有限責(zé)任公司
【公開日】2015年7月8日
【申請(qǐng)日】2015年3月18日