本發(fā)明涉及語音輸入技術(shù)領(lǐng)域,具體來說,涉及一種android智能語音控制方法及系統(tǒng)。
背景技術(shù):
現(xiàn)在人們的生活越來越依賴于智能手機(jī):社交、打折信息、導(dǎo)航、購物等,為了解決某些特定場合不能手動操作手機(jī)的使用需求、方便老人操作、解放雙眼等問題,已有相應(yīng)的智能語音技術(shù)得到應(yīng)用。如,許多輸入法都自帶的語音輸入功能;某些手機(jī)自帶的語音控制功能,可以執(zhí)行打開某個應(yīng)用的簡單功能;某些定制的產(chǎn)品上可以實(shí)現(xiàn)語音控制功能,比如roobo機(jī)器人可以實(shí)現(xiàn)打開愛奇藝、搜索并播放節(jié)目。
目前的語音系統(tǒng)主要用于語音輸入和簡單的啟動android程序,不能進(jìn)行屏幕翻頁等系統(tǒng)級別的運(yùn)行,且不能用于連續(xù)的語音輸入(每次輸入前需要按一個按鍵才能進(jìn)行語音輸入);能用于控制的也是用于特殊產(chǎn)品,例如機(jī)器人方面,主要是控制自己制作的產(chǎn)品;不具有通用性。
輸入注入:由于系統(tǒng)限制,各個程序之間要想傳遞數(shù)據(jù)必須在程序中采取明確的方式進(jìn)行;如果沒有明確指定數(shù)據(jù)傳輸方式,則必須要繞過系統(tǒng)的各種限制,我們把這種方式稱之為輸入注入。
開發(fā)一套通用的語音控制方法和系統(tǒng),能夠幫助人們通過語音來控制android系統(tǒng)的運(yùn)行很有必要。
技術(shù)實(shí)現(xiàn)要素:
針對相關(guān)技術(shù)中的上述技術(shù)問題,一種android智能語音控制方法及系統(tǒng),能夠幫助人們通過語音來控制android系統(tǒng)的運(yùn)行,不僅能實(shí)現(xiàn)連續(xù)語音輸入,還可以實(shí)現(xiàn)產(chǎn)品的通用性。
為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的第一方面提供了一種android智能語音控制方法,包括:
s1建立一系統(tǒng)/root權(quán)限的service,以使執(zhí)行的代碼具有系統(tǒng)/root權(quán)限;
s2開放一個接口給上層的語音控制模塊;
s3啟動語音識別模塊,將得到的文本信息跟本語音控制系統(tǒng)中特定動作信息進(jìn)行匹配,如果匹配成功則向啟動的service中發(fā)送相應(yīng)的信息;
s4所述服務(wù)service根據(jù)傳入的動作信息調(diào)用系統(tǒng)相應(yīng)代碼,使執(zhí)行的代碼具有系統(tǒng)/root權(quán)限,從而繞過系統(tǒng)的限制實(shí)現(xiàn)輸入注入的功能。
其中,步驟s1包括:
s11用java編寫一個服務(wù)service;
s12調(diào)用底層的app_process命令,將該服務(wù)service啟動為系統(tǒng)/root權(quán)限;
s13跟上層的app通訊。
進(jìn)一步的,步驟s13包括:
s131開放socket接口,通過c/s方式跟上層的app通訊;或者
s132使用javabinder通訊機(jī)制。
其中,步驟s132包括:
在服務(wù)service端通過調(diào)用iservicemanager.addservice()函數(shù)將自己注冊到系統(tǒng)中;
上層app通過調(diào)用servicemanager.getservice()函數(shù)獲取該服務(wù)的接口;通過transact()函數(shù)調(diào)用服務(wù)service中的功能函數(shù)傳遞信息。
本發(fā)明的另一方面提供了一種android智能語音控制系統(tǒng),包括:
一系統(tǒng)級別或者具有root權(quán)限的服務(wù)service;
一上層的語音控制模塊,所述service開放一接口給所述上層的語音控制模塊;和
一語音識別模塊,其將得到的文本信息跟本語音控制系統(tǒng)中特定動作信息進(jìn)行匹配,如果匹配成功則向啟動的service中發(fā)送相應(yīng)的信息,所述服務(wù)service根據(jù)傳入的動作信息調(diào)用系統(tǒng)相應(yīng)代碼,使執(zhí)行的代碼具有系統(tǒng)/root權(quán)限,從而繞過系統(tǒng)的限制實(shí)現(xiàn)輸入注入的功能。
本發(fā)明的有益效果:通過在系統(tǒng)中增加一個具有系統(tǒng)/root權(quán)限的服務(wù),使后續(xù)執(zhí)行的代碼也具有了系統(tǒng)/root權(quán)限,從而在系統(tǒng)層面執(zhí)行相應(yīng)的代碼,可以在不破壞系統(tǒng)完整性的同時達(dá)到通用性的目的,使得語音控制能實(shí)現(xiàn)更多功能。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實(shí)施例所述一種android智能語音控制方法的流程框圖;
圖2是根據(jù)本發(fā)明實(shí)施例所述一種android智能語音控制系統(tǒng)的結(jié)構(gòu)圖示意。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,根據(jù)本發(fā)明實(shí)施例所述一種android智能語音控制方法,包括:
s1建立一系統(tǒng)/root權(quán)限的service,以使執(zhí)行的代碼具有系統(tǒng)/root權(quán)限;
s2開放一個接口給上層的語音控制模塊;
s3啟動語音識別模塊,將得到的文本信息跟本語音控制系統(tǒng)中特定動作信息進(jìn)行匹配,如果匹配成功則向啟動的service中發(fā)送相應(yīng)的信息;
s4所述服務(wù)service根據(jù)傳入的動作信息調(diào)用系統(tǒng)相應(yīng)代碼,使執(zhí)行的代碼具有系統(tǒng)/root權(quán)限,從而繞過系統(tǒng)的限制實(shí)現(xiàn)輸入注入的功能。
其中,步驟s1包括:
s11用java編寫一個服務(wù)service;
s12調(diào)用底層的app_process命令,將該服務(wù)service啟動為系統(tǒng)/root權(quán)限;
s13跟上層的app通訊。
進(jìn)一步的,步驟s13包括:
s131開放socket接口,通過c/s方式跟上層的app通訊;或者
s132使用javabinder通訊機(jī)制。
其中,步驟s132包括:
在服務(wù)service端通過調(diào)用iservicemanager.addservice()函數(shù)將自己注冊到系統(tǒng)中;
上層app通過調(diào)用servicemanager.getservice()函數(shù)獲取該服務(wù)的接口;通過transact()函數(shù)調(diào)用服務(wù)service中的功能函數(shù)傳遞信息。
如圖2所示,根據(jù)本發(fā)明實(shí)施例所述一種android智能語音控制系統(tǒng),包括:
一系統(tǒng)級別或者具有root權(quán)限的服務(wù)service;
一上層的語音控制模塊,所述service開放一接口給所述上層的語音控制模塊;和
一語音識別模塊,其將得到的文本信息跟本語音控制系統(tǒng)中特定動作信息進(jìn)行匹配,如果匹配成功則向啟動的service中發(fā)送相應(yīng)的信息,所述服務(wù)service根據(jù)傳入的動作信息調(diào)用系統(tǒng)相應(yīng)代碼,使執(zhí)行的代碼具有系統(tǒng)/root權(quán)限,從而繞過系統(tǒng)的限制實(shí)現(xiàn)輸入注入的功能。
綜上所述,借助于本發(fā)明的上述技術(shù)方案,通過在系統(tǒng)中增加一個具有系統(tǒng)/root權(quán)限的服務(wù),使后續(xù)執(zhí)行的代碼也具有了系統(tǒng)/root權(quán)限,從而在系統(tǒng)層面執(zhí)行相應(yīng)的代碼,可以在不破壞系統(tǒng)完整性的同時達(dá)到通用性的目的,使得語音控制能實(shí)現(xiàn)更多功能。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。