一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法
【專利摘要】本發(fā)明涉及智能電視【技術(shù)領(lǐng)域】,其公開了一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,解決傳統(tǒng)技術(shù)中由于缺少輸入設(shè)備的支持導(dǎo)致Android智能電視上的部分應(yīng)用程序無法操控的問題。其包括:a.在Android系統(tǒng)初始化時,創(chuàng)建虛擬輸入設(shè)備,生成虛擬輸入設(shè)備節(jié)點(diǎn);b.在Android系統(tǒng)內(nèi)置虛擬輸入設(shè)備寫入接口的動態(tài)庫;c.當(dāng)有輸入事件需要使用虛擬輸入設(shè)備時,調(diào)用虛擬輸入設(shè)備寫入接口;d.虛擬輸入設(shè)備寫入接口將調(diào)用者傳遞的數(shù)據(jù)按照相應(yīng)格式進(jìn)行組織,然后寫入虛擬輸入設(shè)備節(jié)點(diǎn);e.Andriod系統(tǒng)對輸入事件讀取、分類和包裝,然后派發(fā)給當(dāng)前應(yīng)用程序;f.當(dāng)前應(yīng)用程序接收來自虛擬輸入設(shè)備的輸入事件,并對該輸入事件進(jìn)行響應(yīng)。本發(fā)明適用于對Android智能電視操控。
【專利說明】—種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能電視【技術(shù)領(lǐng)域】,特別涉及一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法。
【背景技術(shù)】
[0002]基于Android系統(tǒng)的智能電視產(chǎn)品,不僅具有傳統(tǒng)電視的功能,還支持海量An droid應(yīng)用程序,豐富的應(yīng)用程序拓寬了電視的功能。許多Android應(yīng)用程序最初是針對手機(jī)、PAD等移動設(shè)備開發(fā)的,應(yīng)用程序的操控用到了移動設(shè)備的觸摸屏、傳感器等輸入設(shè)備。而目前的智能電視操控設(shè)備還是以遙控器為主,而且通常不會集成觸摸屏或傳感器等輸入設(shè)備,這就造成這些應(yīng)用程序雖然可以在智能電視上運(yùn)行,但是由于缺少輸入設(shè)備的支持,導(dǎo)致這些應(yīng)用程序無法操控。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問題是:提出一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,解決傳統(tǒng)技術(shù)中由于缺少輸入設(shè)備的支持導(dǎo)致Android智能電視上的部分應(yīng)用程序無法操控的問題。
[0004]本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是:
[0005]一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,包括以下步驟:
[0006]a.在Android系統(tǒng)初始化時,創(chuàng)建虛擬輸入設(shè)備,生成虛擬輸入設(shè)備節(jié)點(diǎn);
[0007]b.在Android系統(tǒng)內(nèi)置虛擬輸入設(shè)備寫入接口的動態(tài)庫;
[0008]c.當(dāng)有輸入事件需要使用虛擬輸入設(shè)備時,調(diào)用虛擬輸入設(shè)備寫入接口 ;
[0009]d.虛擬輸入設(shè)備寫入接口將調(diào)用者傳遞的數(shù)據(jù)按照相應(yīng)格式進(jìn)行組織,然后寫入虛擬輸入設(shè)備節(jié)點(diǎn);
[0010]e.Andriod系統(tǒng)對輸入事件讀取、分類和包裝,然后派發(fā)給當(dāng)前應(yīng)用程序;
[0011]f.當(dāng)前應(yīng)用程序接收來自虛擬輸入設(shè)備的輸入事件,并對該輸入事件進(jìn)行響應(yīng)。
[0012]具體的,步驟a中,采用向系統(tǒng)集成與虛擬輸入設(shè)備相對應(yīng)的設(shè)備驅(qū)動程序的方式或采用設(shè)備創(chuàng)建器來創(chuàng)建虛擬輸入設(shè)備的方式來完成虛擬輸入設(shè)備的創(chuàng)建,虛擬輸入設(shè)備創(chuàng)建之后在系統(tǒng)輸入設(shè)備路徑下生成相應(yīng)的虛擬輸入設(shè)備節(jié)點(diǎn)。
[0013]具體的,步驟b中,所述動態(tài)庫中提供的虛擬輸入設(shè)備寫入接口按照虛擬輸入設(shè)備類型與虛擬輸入設(shè)備節(jié)點(diǎn)一一對應(yīng),所述寫入接口被封裝成兩種形式,供Java層及Native層調(diào)用,用于將調(diào)用者傳遞的數(shù)據(jù)寫入虛擬輸入設(shè)備節(jié)點(diǎn)。
[0014]具體的,步驟d中,虛擬輸入設(shè)備節(jié)點(diǎn)被寫入數(shù)據(jù)之后,等待Android系統(tǒng)對輸入事件的輪詢。
[0015]具體的,所述虛擬輸入設(shè)備包括:虛擬遙控器、虛擬鍵盤、虛擬鼠標(biāo)、虛擬多點(diǎn)觸控、虛擬GSensor、虛擬陀螺儀、虛擬地磁儀。[0016]本發(fā)明的有益效果是:在Android智能電視產(chǎn)品在不具備某些實(shí)際的輸入設(shè)備時,可以虛擬出需要的輸入設(shè)備,通過對虛擬輸入設(shè)備的輸入操作,實(shí)現(xiàn)對依賴于該輸入設(shè)備的應(yīng)用程序的操控,滿足用戶的多元化操控需求。
【專利附圖】
【附圖說明】
[0017]圖1為實(shí)施例中的實(shí)現(xiàn)對Android智能電視操控方法流程圖;
[0018]圖2為使用設(shè)備創(chuàng)建器創(chuàng)建虛擬輸入設(shè)備的流程圖;
[0019]圖3為虛擬輸入設(shè)備寫入接口的實(shí)現(xiàn)流程圖。
【具體實(shí)施方式】
[0020]本發(fā)明旨在提出一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,解決傳統(tǒng)技術(shù)中由于缺少輸入設(shè)備的支持導(dǎo)致Android智能電視上的部分應(yīng)用程序無法操控的問題。本發(fā)明在Android系統(tǒng)剛開始啟動進(jìn)行系統(tǒng)初始化時進(jìn)行虛擬輸入設(shè)備的創(chuàng)建,然后內(nèi)置虛擬輸入設(shè)備數(shù)據(jù)寫入接口的動態(tài)庫,通過調(diào)用接口,向接口傳遞數(shù)據(jù)實(shí)現(xiàn)對虛擬輸入設(shè)備的使用。
[0021]下面結(jié)合附圖及實(shí)施例對本發(fā)明的方案作進(jìn)一步的描述:
[0022]如圖1所示,本例中的基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,包括以下實(shí)現(xiàn)步驟:
[0023]步驟11.創(chuàng)建虛擬輸入設(shè)備,生成虛擬輸入設(shè)備節(jié)點(diǎn):即在Android系統(tǒng)初始化時,完成虛擬輸入設(shè)備的創(chuàng)建,可以采用向系統(tǒng)集成與虛擬輸入設(shè)備相對應(yīng)的設(shè)備驅(qū)動程序的方式或采用設(shè)備創(chuàng)建器來創(chuàng)建虛擬輸入設(shè)備的方式來完成虛擬輸入設(shè)備的創(chuàng)建,虛擬輸入設(shè)備創(chuàng)建之后在系統(tǒng)輸入設(shè)備路徑下生成相應(yīng)的虛擬輸入設(shè)備節(jié)點(diǎn);
[0024]步驟12.在Android系統(tǒng)內(nèi)置虛擬輸入設(shè)備寫入接口的動態(tài)庫:動態(tài)庫中所提供的虛擬輸入設(shè)備數(shù)據(jù)寫入接口按照虛擬輸入設(shè)備類型與虛擬輸入設(shè)備節(jié)點(diǎn)一一對應(yīng),即對于某一確定類型的虛擬輸入設(shè)備,其在創(chuàng)建時設(shè)定的設(shè)備屬性信息,在實(shí)現(xiàn)接口時需要加以使用,以找到該種虛擬輸入設(shè)備對應(yīng)的虛擬輸入設(shè)備節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入;
[0025]步驟13.當(dāng)有輸入事件需要使用虛擬輸入設(shè)備時,調(diào)用虛擬輸入設(shè)備寫入接口:由于虛擬輸入設(shè)備已經(jīng)創(chuàng)建完成,隨時可以通過調(diào)用接口來使用虛擬輸入設(shè)備,接口被封裝成兩種形式,可供Java層及Native層調(diào)用,在調(diào)用接口時,將對應(yīng)的虛擬輸入設(shè)備的數(shù)據(jù)傳入接口,接口所傳遞的數(shù)據(jù)格式需要與創(chuàng)建虛擬輸入設(shè)備時的設(shè)定相匹配;
[0026]步驟14.虛擬輸入設(shè)備寫入接口將調(diào)用者傳遞的數(shù)據(jù)按照相應(yīng)格式進(jìn)行組織,然后寫入虛擬輸入設(shè)備節(jié)點(diǎn);虛擬輸入設(shè)備節(jié)點(diǎn)被寫入數(shù)據(jù)之后,等待Android系統(tǒng)對輸入事件的輪詢;
[0027]步驟15.Andriod系統(tǒng)對輸入事件讀取、分類和包裝,然后派發(fā)給當(dāng)前應(yīng)用程序;
[0028]步驟16.當(dāng)前應(yīng)用程序接收來自虛擬輸入設(shè)備的輸入事件,并對該輸入事件進(jìn)行響應(yīng)。
[0029]以虛擬鼠標(biāo)設(shè)備為例,對于虛擬輸入設(shè)備的創(chuàng)建流程如圖2所示:
[0030]步驟21,打開設(shè)備創(chuàng)建器,獲取設(shè)備創(chuàng)建器描述符uinp_fd:使用open函數(shù)打開設(shè)備創(chuàng)建器,獲取到設(shè)備創(chuàng)建器的文件描述符uinp_fd。示例代碼如下:
【權(quán)利要求】
1.一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,其特征在于,包括以下步驟: a.在Android系統(tǒng)初始化時,創(chuàng)建虛擬輸入設(shè)備,生成虛擬輸入設(shè)備節(jié)點(diǎn); b.在Android系統(tǒng)內(nèi)置虛擬輸入設(shè)備寫入接口的動態(tài)庫; c.當(dāng)有輸入事件需要使用虛擬輸入設(shè)備時,調(diào)用虛擬輸入設(shè)備寫入接口; d.虛擬輸入設(shè)備寫入接口將調(diào)用者傳遞的數(shù)據(jù)按照相應(yīng)格式進(jìn)行組織,然后寫入虛擬輸入設(shè)備節(jié)點(diǎn); e.Andriod系統(tǒng)對輸入事件讀取、分類和包裝,然后派發(fā)給當(dāng)前應(yīng)用程序; f.當(dāng)前應(yīng)用程序接收來自虛擬輸入設(shè)備的輸入事件,并對該輸入事件進(jìn)行響應(yīng)。
2.如權(quán)利要求1所述的一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,其特征在于,步驟a中,采用向系統(tǒng)集成與虛擬輸入設(shè)備相對應(yīng)的設(shè)備驅(qū)動程序的方式或采用設(shè)備創(chuàng)建器來創(chuàng)建虛擬輸入設(shè)備的方式來完成虛擬輸入設(shè)備的創(chuàng)建,虛擬輸入設(shè)備創(chuàng)建之后在系統(tǒng)輸入設(shè)備路徑下生成相應(yīng)的虛擬輸入設(shè)備節(jié)點(diǎn)。
3.如權(quán)利要求1所述的一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,其特征在于,步驟b中,所述動態(tài)庫中提供的虛擬輸入設(shè)備寫入接口按照虛擬輸入設(shè)備類型與虛擬輸入設(shè)備節(jié)點(diǎn)--對應(yīng),所述寫入接口被封裝成兩種形式,供Java層及Native層調(diào)用,用于將調(diào)用者傳遞的數(shù)據(jù)寫入虛擬輸入設(shè)備節(jié)點(diǎn)。
4.如權(quán)利要求1所述的一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,其特征在于,步驟d中,虛擬輸入設(shè)備節(jié)點(diǎn)被寫入數(shù)據(jù)之后,等待Android系統(tǒng)對輸入事件的輪詢。
5.如權(quán)利要求1-4任意一項(xiàng)所述的一種基于虛擬輸入設(shè)備實(shí)現(xiàn)對Android智能電視操控的方法,其特征在于,所述虛擬輸入設(shè)備包括:虛擬遙控器、虛擬鍵盤、虛擬鼠標(biāo)、虛擬多點(diǎn)觸控、虛擬GSensor、虛擬陀螺儀、虛擬地磁儀。
【文檔編號】G06F3/01GK103796058SQ201410026316
【公開日】2014年5月14日 申請日期:2014年1月21日 優(yōu)先權(quán)日:2014年1月21日
【發(fā)明者】楊恩澤, 周建波 申請人:四川長虹電器股份有限公司