一種能力組件的共享方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種能力組件的共享方法和設(shè)備。
【背景技術(shù)】
[0002]隨著智能移動(dòng)終端的普及和HTML5 (Hyper Text Markup Language,超文本標(biāo)記語言)技術(shù)的發(fā)展,當(dāng)前考慮如何將HTML5應(yīng)用程序作為本地程序運(yùn)行,混搭應(yīng)用(MashupApplicat1n)在此背景下應(yīng)運(yùn)而生?;齑顟?yīng)用是指采用Web語言開發(fā),調(diào)用終端設(shè)備的操作系統(tǒng)上瀏覽器內(nèi)核開放的HTML5功能,最終打包(編譯)成原生應(yīng)用的軟件包格式?;齑顟?yīng)用可以保留Web應(yīng)用一套代碼多平臺(tái)部署的優(yōu)點(diǎn),并彌補(bǔ)了傳統(tǒng)Web應(yīng)用功能受限、分發(fā)和使用形式單一的缺點(diǎn),從而迅速成為終端設(shè)備的HTML5應(yīng)用的主要形式之一。
[0003]盡管HTML5相比傳統(tǒng)Web技術(shù)在功能上大大增強(qiáng),但是仍無法滿足各種終端設(shè)備應(yīng)用的開發(fā)需求,因此混搭應(yīng)用中一般通過第三方插件等技術(shù)進(jìn)行本地Web能力的擴(kuò)展。如圖1所示,為支持能力組件的混搭應(yīng)用的架構(gòu)示意圖。其中,基于Web運(yùn)行環(huán)境的第三方插件是能夠獲得本地部分功能的擴(kuò)展,而這些擴(kuò)展是HTML5中沒有提供的?;齑顟?yīng)用需要使用第三方能力插件時(shí),可以通過第三方能力插件的API (Applicat1n ProgrammingInterface,應(yīng)用程序接口)調(diào)用,之后將開發(fā)程序與第三方插件打包在一起,編譯成原生應(yīng)用格式進(jìn)行發(fā)布。因此,如果開發(fā)者在應(yīng)用開發(fā)中需要調(diào)用終端設(shè)備操作系統(tǒng)平臺(tái)Web內(nèi)核未提供的功能,則可以通過自行擴(kuò)展能力組件的方式來滿足該需求。
[0004]但是,目前的Web能力組件方案都存在一定的局限性,具體的:(1)能力組件無法像操作系統(tǒng)基礎(chǔ)能力那樣供所有客戶端共享,每個(gè)客戶端如果需要調(diào)用組件的能力,就需要將該能力組件直接打包在客戶端軟件包中。(2)無法單獨(dú)升級(jí)能力組件。由于能力組件是打包在應(yīng)用中,如果要升級(jí)能力組件功能,則需要自行升級(jí)整個(gè)客戶端軟件。(3)無法保證所有客戶端使用同一版本能力組件。對(duì)于能力組件的開發(fā)者或者運(yùn)營(yíng)方而言,無法保證市場(chǎng)上的客戶端使用的都是開發(fā)者或者運(yùn)營(yíng)方提供的最新版本的能力組件。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種能力組件的共享方法和設(shè)備,以對(duì)能力組件進(jìn)行共享,使終端設(shè)備的各應(yīng)用(不同應(yīng)用對(duì)應(yīng)不同客戶端)可以共享能力組件。
[0006]為了達(dá)到上述目的,本發(fā)明實(shí)施例提供一種能力組件的共享方法,用在終端設(shè)備內(nèi)第三方應(yīng)用調(diào)用能力組件的過程,終端設(shè)備包括能力組件管理框架和能力組件,能力組件管理框架和所述能力組件分別以獨(dú)立的服務(wù)進(jìn)程運(yùn)行,且能力組件管理框架包括能力應(yīng)用程序接口 API,所述方法包括以下步驟:
[0007]在第三方應(yīng)用需要調(diào)用能力組件時(shí),所述能力組件管理框架接收來自第三方應(yīng)用的能力組件調(diào)用請(qǐng)求,并確定所述第三方應(yīng)用需要調(diào)用的能力組件;
[0008]所述能力組件管理框架檢測(cè)所述能力組件當(dāng)前是否處于運(yùn)行狀態(tài);
[0009]如果是,則所述能力組件管理框架將所述能力組件的服務(wù)返回給所述第三方應(yīng)用,由所述第三方應(yīng)用調(diào)用所述能力組件的服務(wù);如果否,則所述能力組件管理框架啟動(dòng)所述能力組件的服務(wù),將所述能力組件的服務(wù)返回給所述第三方應(yīng)用,由所述第三方應(yīng)用調(diào)用所述能力組件的服務(wù)。
[0010]本發(fā)明實(shí)施例提供一種終端設(shè)備,用在終端設(shè)備內(nèi)第三方應(yīng)用調(diào)用能力組件的過程,所述終端設(shè)備包括能力組件管理框架和能力組件,所述能力組件管理框架和所述能力組件分別以獨(dú)立的服務(wù)進(jìn)程運(yùn)行,且所述能力組件管理框架包括能力應(yīng)用程序接口 API,所述能力組件管理框架具體包括:
[0011]接收模塊,用于在第三方應(yīng)用需要調(diào)用能力組件時(shí),接收來自第三方應(yīng)用的能力組件調(diào)用請(qǐng)求,并確定所述第三方應(yīng)用需要調(diào)用的能力組件;
[0012]檢測(cè)模塊,用于檢測(cè)所述能力組件當(dāng)前是否處于運(yùn)行狀態(tài);
[0013]處理模塊,用于在能力組件當(dāng)前處于運(yùn)行狀態(tài)時(shí),將能力組件的服務(wù)返回給所述第三方應(yīng)用,由所述第三方應(yīng)用調(diào)用所述能力組件的服務(wù);在能力組件當(dāng)前未處于運(yùn)行狀態(tài)時(shí),啟動(dòng)所述能力組件的服務(wù),將所述能力組件的服務(wù)返回給所述第三方應(yīng)用,由所述第三方應(yīng)用調(diào)用所述能力組件的服務(wù)。
[0014]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn):本發(fā)明實(shí)施例中,實(shí)現(xiàn)能力組件共享,使終端設(shè)備的各應(yīng)用(不同應(yīng)用對(duì)應(yīng)不同客戶端)共享能力組件,解決能力組件無法供所有客戶端共享的問題,從而節(jié)約系統(tǒng)資源。實(shí)現(xiàn)能力組件動(dòng)態(tài)升級(jí),以保證隨時(shí)將客戶端的某能力組件升級(jí)到最新版本,無需升級(jí)調(diào)用該能力組件的客戶端,解決能力組件無法獨(dú)立于客戶端單獨(dú)升級(jí)的問題,大幅提升用戶體驗(yàn)。保證所有客戶端使用的能力組件的版本一致,解決無法保證所有客戶端使用同一版本能力組件的問題,應(yīng)用體驗(yàn)更好。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是現(xiàn)有技術(shù)中支持能力組件的混搭應(yīng)用的架構(gòu)示意圖;
[0017]圖2是本發(fā)明實(shí)施例的能力組件SDK和傳統(tǒng)能力組件SDK區(qū)別示意圖;
[0018]圖3是本發(fā)明實(shí)施例一中提供的應(yīng)用場(chǎng)景的示意圖;
[0019]圖4是本發(fā)明實(shí)施例一提供的一種能力組件的共享方法流程示意圖;
[0020]圖5-圖8是本發(fā)明實(shí)施例一中提出的相關(guān)代碼的示意圖;
[0021]圖9是本發(fā)明實(shí)施例二提供的一種終端設(shè)備的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]下面將結(jié)合本發(fā)明中的附圖,對(duì)本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]實(shí)施例一
[0024]針對(duì)現(xiàn)有技術(shù)中存在的問題,本發(fā)明實(shí)施例一提供一種能力組件的共享方法,用在終端設(shè)備內(nèi)第三方應(yīng)用調(diào)用能力組件的過程中,該終端設(shè)備包括能力組件管理框架和能力組件,能力組件管理框架和能力組件分別以獨(dú)立的服務(wù)進(jìn)程運(yùn)行,且能力組件管理框架包括能力API。其中,各第三方應(yīng)用可以對(duì)應(yīng)相同的能力組件管理框架,且各第三方應(yīng)用可以對(duì)應(yīng)不同的能力組件。
[0025]本發(fā)明實(shí)施例中,終端設(shè)備具體包括但不限于使用Android操作系統(tǒng)的移動(dòng)終端。進(jìn)一步的,各第三方應(yīng)用中包含的能力不僅可以供本第三方應(yīng)用自身使用,該能力還可以被其它第三方應(yīng)用共享使用,因此這種形式的能力則稱為能力組件。進(jìn)一步的,該能力組件具體可以為API具體實(shí)現(xiàn)。
[0026]如圖2所示,為本發(fā)明實(shí)施例提出的能力組件SDK和傳統(tǒng)能力組件SDK的區(qū)別示意圖,與傳統(tǒng)能力組件SDK(傳統(tǒng)能力組件SDK將能力API和API具體實(shí)現(xiàn)聚合在同一個(gè)軟件開發(fā)包中)不同的是,本發(fā)明實(shí)施例中,將能力API和API具體實(shí)現(xiàn)(即能力組件)分離,并增加能力組件管理框架,并將能力API納入能力組件管理框架。其中,該能力組件管理框架作為能力組件的統(tǒng)一對(duì)外接口,向客戶端提供各能力組件調(diào)用具體能力的方法,并提供狀態(tài)檢測(cè)、應(yīng)用鑒權(quán)、應(yīng)用數(shù)據(jù)共享等方法,可以支持狀態(tài)檢測(cè)、安全檢查、定期更新檢查、差分升級(jí)下載等功能。因此,上述方式可以實(shí)現(xiàn)能力組件的統(tǒng)一管理,能力組件的能力可以供終端設(shè)備上的客戶端共享,同時(shí)可以及時(shí)升級(jí)能力組件,并確保所有客戶端調(diào)用的是最新的、同一個(gè)版本的能力組件。
[0027]綜上所述,本發(fā)明實(shí)施例中,增加的能力組件管理框架可以支持狀態(tài)檢測(cè)、安全檢查、定期更新檢查、差分升級(jí)下載等功能。此外,將能力API和API具體實(shí)現(xiàn)分離,將能力API加到能力組件管理框架中,將API具體實(shí)現(xiàn)成為能力組件。此外,能力組件管理框架和各個(gè)能力組件均以獨(dú)立的后臺(tái)服務(wù)進(jìn)程形式運(yùn)行,形式獨(dú)立。此外,客戶端應(yīng)用需要調(diào)用某能力組件時(shí),將調(diào)用請(qǐng)求發(fā)