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