本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種確定移動(dòng)終端的姿態(tài)的方法及移動(dòng)終端。
背景技術(shù):
隨著技術(shù)的發(fā)展與進(jìn)步,手機(jī)、平板電腦等移動(dòng)終端已逐漸成為日常生活中不可或缺的一部分。而人們也不再限于移動(dòng)終端基礎(chǔ)通信功能的使用,更是追尋移動(dòng)終端的多樣化功能,滿足不同場(chǎng)景的使用需求。因此,為了達(dá)到更佳的體驗(yàn),馬達(dá)與重量傳感器幾乎成為了移動(dòng)終端上的必備器件,以實(shí)現(xiàn)如屏幕翻轉(zhuǎn)、靜音狀態(tài)下的消息通知、較大的重力游戲等。
重力傳感器的工作需要通過(guò)感應(yīng)加速度的值來(lái)實(shí)現(xiàn),但是,在振動(dòng)馬達(dá)工作時(shí),振動(dòng)會(huì)帶動(dòng)移動(dòng)終端發(fā)生振動(dòng),影響重力傳感器感應(yīng)到的加速度,得到誤差較大的結(jié)果數(shù)據(jù),進(jìn)而使根據(jù)重力傳感器檢測(cè)數(shù)據(jù)對(duì)移動(dòng)終端的姿態(tài)判斷也出現(xiàn)誤差。例如,移動(dòng)終端開(kāi)啟屏幕自動(dòng)旋轉(zhuǎn)功能時(shí),新消息通知引起的馬達(dá)振動(dòng),會(huì)影響重力傳感器的檢測(cè)數(shù)據(jù),誤判斷移動(dòng)終端的姿態(tài),使屏幕出現(xiàn)旋轉(zhuǎn),但事實(shí)上用戶并沒(méi)有旋轉(zhuǎn)設(shè)備的動(dòng)作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種確定移動(dòng)終端的姿態(tài)的方法及移動(dòng)終端,用以解決現(xiàn)有技術(shù)中存在的重力傳感器受振動(dòng)馬達(dá)工作影響,易輸出錯(cuò)誤信息,進(jìn)而影響到對(duì)移動(dòng)終端的姿態(tài)判斷的問(wèn)題。
第一方面,本發(fā)明的實(shí)施例提供一種確定移動(dòng)終端的姿態(tài)的方法,應(yīng)用于設(shè)置有振動(dòng)馬達(dá)的移動(dòng)終端,包括:
記錄在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的姿態(tài)信息;
在所述振動(dòng)馬達(dá)啟動(dòng)后,獲取所述移動(dòng)終端的角速度數(shù)據(jù),并根據(jù)所述角速度數(shù)據(jù)計(jì)算所述移動(dòng)終端的旋轉(zhuǎn)角度;
根據(jù)所述移動(dòng)終端的旋轉(zhuǎn)角度和記錄的姿態(tài)信息,確定所述移動(dòng)終端的姿態(tài)。
第二方面,本發(fā)明的實(shí)施例還提供了一種移動(dòng)終端,所述移動(dòng)終端設(shè)置有振動(dòng)馬達(dá),包括:
記錄模塊,用于記錄在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的姿態(tài)信息;
第一處理模塊,用于在所述振動(dòng)馬達(dá)啟動(dòng)后,獲取所述移動(dòng)終端的角速度數(shù)據(jù),并根據(jù)所述角速度數(shù)據(jù)計(jì)算所述移動(dòng)終端的旋轉(zhuǎn)角度;
確定模塊,用于根據(jù)所述移動(dòng)終端的旋轉(zhuǎn)角度和記錄的姿態(tài)信息,確定所述移動(dòng)終端的姿態(tài)。
本發(fā)明的上述技術(shù)方案的有益效果如下:
本發(fā)明實(shí)施例的確定移動(dòng)終端的姿態(tài)的方法,通過(guò)記錄移動(dòng)終端上所設(shè)置的振動(dòng)馬達(dá)啟動(dòng)前的該移動(dòng)終端的姿態(tài)信息,并在振動(dòng)馬達(dá)啟動(dòng)后,依據(jù)獲取的移動(dòng)終端的角速度數(shù)據(jù),計(jì)算該移動(dòng)終端的旋轉(zhuǎn)角度,就能夠了解到該移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)后的姿態(tài)變化情況,進(jìn)而確定出當(dāng)前該移動(dòng)終端的姿態(tài),避免了僅依靠重力傳感器的檢測(cè)數(shù)據(jù)對(duì)移動(dòng)終端的姿態(tài)進(jìn)行確定時(shí),受振動(dòng)馬達(dá)工作影響判斷出現(xiàn)誤差的問(wèn)題,使使用重力傳感器的用戶場(chǎng)景不受振動(dòng)馬達(dá)的工作干擾,帶給用戶更佳地使用體驗(yàn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明第一實(shí)施例的確定移動(dòng)終端的姿態(tài)的方法的步驟流程圖一;
圖2為本發(fā)明第一實(shí)施例的確定移動(dòng)終端的姿態(tài)的方法的步驟流程圖二;
圖3為本發(fā)明第一實(shí)施例的確定移動(dòng)終端的姿態(tài)的方法的步驟流程圖三;
圖4為本發(fā)明第一實(shí)施例的確定移動(dòng)終端的姿態(tài)的方法的步驟流程圖四;
圖5為本發(fā)明第二實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖一;
圖6為本發(fā)明第二實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖二;
圖7為本發(fā)明第二實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖三;
圖8為本發(fā)明第三實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖;
圖9為本發(fā)明第四實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
第一實(shí)施例
如圖1所示,本發(fā)明第一實(shí)施例的一種確定移動(dòng)終端的姿態(tài)的方法,應(yīng)用于設(shè)置有振動(dòng)馬達(dá)的移動(dòng)終端,包括:
步驟101,記錄在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的姿態(tài)信息。
本步驟中,記錄了移動(dòng)終端中設(shè)置的振動(dòng)馬達(dá)啟動(dòng)前,該移動(dòng)終端的姿態(tài)信息,為后續(xù)確定振動(dòng)馬達(dá)啟動(dòng)后該移動(dòng)終端的姿態(tài)信息提供依據(jù),以解決振動(dòng)馬達(dá)啟動(dòng)后所帶來(lái)的干擾。
步驟102,在所述振動(dòng)馬達(dá)啟動(dòng)后,獲取所述移動(dòng)終端的角速度數(shù)據(jù),并根據(jù)所述角速度數(shù)據(jù)計(jì)算所述移動(dòng)終端的旋轉(zhuǎn)角度。
本步驟中,在通過(guò)監(jiān)測(cè)了解到振動(dòng)馬達(dá)啟動(dòng)后,獲取該移動(dòng)終端的角速度數(shù)據(jù),并借助角速度數(shù)據(jù)計(jì)算得到對(duì)應(yīng)的旋轉(zhuǎn)角度,與步驟101中記錄的振動(dòng)馬達(dá)啟動(dòng)前的移動(dòng)終端的姿態(tài)信息共同進(jìn)行下一步。
步驟103,根據(jù)所述移動(dòng)終端的旋轉(zhuǎn)角度和記錄的姿態(tài)信息,確定所述移動(dòng)終端的姿態(tài)。
本步驟中,通過(guò)該移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)后的旋轉(zhuǎn)角度和移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)前記錄的姿態(tài)信息,可以了解到在振動(dòng)馬達(dá)啟動(dòng)后移動(dòng)終端的姿態(tài)變化情況,進(jìn)而確定出當(dāng)前該移動(dòng)終端的姿態(tài)。
這樣,通過(guò)記錄移動(dòng)終端上所設(shè)置的振動(dòng)馬達(dá)啟動(dòng)前的該移動(dòng)終端的姿態(tài)信息,并在振動(dòng)馬達(dá)啟動(dòng)后,依據(jù)獲取的移動(dòng)終端的角速度數(shù)據(jù),計(jì)算該移動(dòng)終端的旋轉(zhuǎn)角度,就能夠了解到該移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)后的姿態(tài)變化情況,進(jìn)而確定出當(dāng)前該移動(dòng)終端的姿態(tài),避免了僅依靠重力傳感器的檢測(cè)數(shù)據(jù)對(duì)移動(dòng)終端的姿態(tài)進(jìn)行確定時(shí),受振動(dòng)馬達(dá)工作影響判斷出現(xiàn)誤差的問(wèn)題,使使用重力傳感器的用戶場(chǎng)景不受振動(dòng)馬達(dá)的工作干擾,帶給用戶更佳地使用體驗(yàn)。
其中,移動(dòng)終端的角速度數(shù)據(jù)可以通過(guò)設(shè)置于該移動(dòng)終端的角速度傳感器檢測(cè)得到,如陀螺儀,用高速回轉(zhuǎn)體的動(dòng)量矩敏感殼體相對(duì)慣性空間繞正交于自轉(zhuǎn)軸的一個(gè)或二個(gè)軸的角運(yùn)動(dòng)檢測(cè)。當(dāng)然,利用其它原理制成、起同樣功能的角運(yùn)動(dòng)檢測(cè)裝置也是適用于本發(fā)明的實(shí)施例。
而根據(jù)角速度數(shù)據(jù),要獲取到振動(dòng)馬達(dá)啟動(dòng)后該移動(dòng)終端的旋轉(zhuǎn)角度,具體的,步驟102包括:
對(duì)所述角速度數(shù)據(jù)進(jìn)行角度積分,得到所述移動(dòng)終端的旋轉(zhuǎn)角度。
這樣,在振動(dòng)馬達(dá)啟動(dòng)后,通過(guò)獲取到的角速度數(shù)據(jù),可以基于振動(dòng)馬達(dá)從啟動(dòng)時(shí)刻到當(dāng)前時(shí)刻的工作時(shí)長(zhǎng)對(duì)獲取到的角速度數(shù)據(jù)進(jìn)行積分,得到該移動(dòng)終端從振動(dòng)馬達(dá)啟動(dòng)時(shí)刻到當(dāng)前時(shí)刻的旋轉(zhuǎn)角度。
應(yīng)該知道的是,在三維空間中,移動(dòng)終端的姿態(tài)是非常多的,但是,對(duì)應(yīng)于移動(dòng)終端的每一姿態(tài)的具體位置都會(huì)平行于一以該移動(dòng)終端中心位置為球心的球的過(guò)球心平面。此外,用于移動(dòng)終端的重力傳感器,可以同時(shí)感應(yīng)到三維空間各個(gè)方向的加速度,記為ax、ay、az,在靜止?fàn)顟B(tài)下,還要滿足公式g=g為地球重力加速度。在空間中建立三維坐標(biāo),對(duì)應(yīng)移動(dòng)終端的每一姿態(tài),都會(huì)對(duì)應(yīng)一組唯一的三個(gè)軸的加速度值,由一姿態(tài)就可以得到對(duì)應(yīng)的三個(gè)軸的加速度值,由三個(gè)軸的加速度值也可以得到移動(dòng)終端對(duì)應(yīng)的姿態(tài)。
因此,本發(fā)明實(shí)施例中,移動(dòng)終端預(yù)存儲(chǔ)有姿態(tài)與重力加速度數(shù)值的對(duì)應(yīng)關(guān)系。因此,具體的,如圖2所示,在步驟101之前,還包括:
步驟104,獲取在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的重力加速度,根據(jù)所述重力加速度,計(jì)算所述移動(dòng)終端的姿態(tài)信息。
在上述內(nèi)容中可知,本發(fā)明實(shí)施例的方法,是基于振動(dòng)馬達(dá)啟動(dòng)前的移動(dòng)終端的姿態(tài)和振動(dòng)馬達(dá)啟動(dòng)后的旋轉(zhuǎn)角度,通過(guò)了解振動(dòng)馬達(dá)啟動(dòng)后該移動(dòng)終端的姿態(tài)變化來(lái)確定當(dāng)前該移動(dòng)終端的姿態(tài)的,而移動(dòng)終端的姿態(tài)與重力加速度數(shù)值之間具有對(duì)應(yīng)關(guān)系,所以,本步驟中,在振動(dòng)馬達(dá)啟動(dòng)前,通過(guò)獲取該移動(dòng)終端的重力加速度,根據(jù)該重力加速度計(jì)算該移動(dòng)終端的姿態(tài)信息,進(jìn)而執(zhí)行下一步,步驟101。
一般而言,在未有其他說(shuō)明的情況下,該實(shí)施例中的重力加速度數(shù)值是包括三維空間各個(gè)方向的加速度值ax、ay、az的。
此外,還應(yīng)該知道的是,在移動(dòng)終端的使用中,如用戶在玩重力游戲賽車時(shí),是根據(jù)重力傳感器檢測(cè)到的重力加速度,將用戶操作轉(zhuǎn)換為對(duì)游戲賽車的控制的,所以,為避免操作中新消息通知等引起振動(dòng)馬達(dá)工作而出現(xiàn)的游戲不受用戶控制的情形,在上述實(shí)施例的基礎(chǔ)上,如圖3所示,步驟103之后,還包括:
步驟105,根據(jù)確定出的姿態(tài),計(jì)算相應(yīng)的重力加速度,并將計(jì)算出的重力加速度作為所述移動(dòng)終端的重力加速度。
這里,根據(jù)步驟103確定的當(dāng)前該移動(dòng)終端的姿態(tài),計(jì)算得到相應(yīng)的重力加速度,將其作為該移動(dòng)終端的重力加速度,替代重力傳感器直接檢測(cè)到的重力加速度,輸出對(duì)應(yīng)的控制,以避免振動(dòng)馬達(dá)工作干擾重力傳感器檢測(cè)到誤差較大的重力加速并輸出錯(cuò)誤控制,進(jìn)一步提升用戶使用體驗(yàn)。
具體的,在確定當(dāng)前該移動(dòng)終端的姿態(tài)后,直接基于該移動(dòng)終端中預(yù)存儲(chǔ)有姿態(tài)與重力加速度數(shù)值的對(duì)應(yīng)關(guān)系,得到對(duì)應(yīng)當(dāng)前該移動(dòng)終端的姿態(tài)的重力加速度。
這樣,當(dāng)移動(dòng)終端開(kāi)啟自動(dòng)轉(zhuǎn)屏功能,而振動(dòng)馬達(dá)也啟動(dòng)后,就不會(huì)再使用重力傳感器檢測(cè)到的重力加速度,而是通過(guò)由當(dāng)前該移動(dòng)終端的姿態(tài)得到的重力加速度來(lái)判斷是否滿足屏幕翻轉(zhuǎn)條件,進(jìn)而控制屏幕是否翻轉(zhuǎn)。
但是,由于經(jīng)步驟103已獲得了當(dāng)前移動(dòng)終端的姿態(tài),針對(duì)移動(dòng)終端當(dāng)前是否要進(jìn)行屏幕翻轉(zhuǎn)的判斷,也可以通過(guò)當(dāng)前的姿態(tài)來(lái)完成,而無(wú)需進(jìn)一步獲得其對(duì)應(yīng)的重力加速度。故,具體的,在步驟103之后,如圖4所示,還包括:
步驟106,當(dāng)確定出的姿態(tài)滿足所述移動(dòng)終端的屏幕翻轉(zhuǎn)條件,對(duì)所述移動(dòng)終端執(zhí)行屏幕翻轉(zhuǎn)操作。
本步驟中,通過(guò)直接對(duì)當(dāng)前移動(dòng)終端的姿態(tài)的判斷,在其滿足屏幕翻轉(zhuǎn)條件時(shí),對(duì)移動(dòng)終端執(zhí)行屏幕翻轉(zhuǎn)操作,消除振動(dòng)馬達(dá)工作下對(duì)屏幕翻轉(zhuǎn)判斷的干擾,而且無(wú)需重新獲得重力加速度,簡(jiǎn)化了處理流程。
此時(shí),還應(yīng)該知道的是,在使用重力加速度進(jìn)行屏幕翻轉(zhuǎn)判斷時(shí),所對(duì)應(yīng)的屏幕翻轉(zhuǎn)條件是基于重力加速度的,如設(shè)定對(duì)應(yīng)三個(gè)軸向上的加速度ax、ay、az的屏幕翻轉(zhuǎn)閾值范圍。而基于移動(dòng)終端的姿態(tài)進(jìn)行屏幕翻轉(zhuǎn)判斷時(shí),所對(duì)應(yīng)的屏幕翻轉(zhuǎn)條件是要基于移動(dòng)終端的姿態(tài)。移動(dòng)終端一姿態(tài)的具體位置是平行于一以該移動(dòng)終端的中心位置為球心的球的過(guò)球心平面的,若設(shè)定一參考平面,相應(yīng)的則能夠得到該位置相對(duì)于參考平面的角度,這樣,基于移動(dòng)終端的姿態(tài)的屏幕翻轉(zhuǎn)條件可以設(shè)定移動(dòng)終端的姿態(tài)所對(duì)應(yīng)位置與參考平面的角度的閾值范圍。
綜上所述,本發(fā)明實(shí)施例的確定移動(dòng)終端的姿態(tài)的方法,通過(guò)記錄移動(dòng)終端上所設(shè)置的振動(dòng)馬達(dá)啟動(dòng)前的該移動(dòng)終端的姿態(tài)信息,并在振動(dòng)馬達(dá)啟動(dòng)后,依據(jù)獲取的移動(dòng)終端的角速度數(shù)據(jù),計(jì)算該移動(dòng)終端的旋轉(zhuǎn)角度,以便了解到該移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)后的姿態(tài)變化情況,進(jìn)而確定出當(dāng)前該移動(dòng)終端的姿態(tài),避免了僅依靠重力傳感器的檢測(cè)數(shù)據(jù)對(duì)移動(dòng)終端的姿態(tài)進(jìn)行確定時(shí),受振動(dòng)馬達(dá)工作影響判斷出現(xiàn)誤差的問(wèn)題,使使用重力傳感器的用戶場(chǎng)景不受振動(dòng)馬達(dá)的工作干擾,帶給用戶更佳地使用體驗(yàn)。
第二實(shí)施例
如圖5所示,本發(fā)明第二實(shí)施例的一種移動(dòng)終端500,所述移動(dòng)終端500設(shè)置有振動(dòng)馬達(dá),包括:
記錄模塊501,用于記錄在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的姿態(tài)信息;
第一處理模塊502,用于在所述振動(dòng)馬達(dá)啟動(dòng)后,獲取所述移動(dòng)終端的角速度數(shù)據(jù),并根據(jù)所述角速度數(shù)據(jù)計(jì)算所述移動(dòng)終端的旋轉(zhuǎn)角度;
確定模塊503,用于根據(jù)所述移動(dòng)終端的旋轉(zhuǎn)角度和記錄的姿態(tài)信息,確定所述移動(dòng)終端的姿態(tài)。
可選地,在圖5的基礎(chǔ)上,如圖6所示,所述第一處理模塊502包括:
處理子模塊5021,用于對(duì)所述角速度數(shù)據(jù)進(jìn)行角度積分,得到所述移動(dòng)終端的旋轉(zhuǎn)角度。
可選地,還包括:
第二處理模塊504,用于在記錄在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的姿態(tài)信息之前,獲取在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的重力加速度,根據(jù)所述重力加速度,計(jì)算所述移動(dòng)終端的姿態(tài)信息。
可選地,在圖5的基礎(chǔ)上,如圖7所示,還包括:
第三處理模塊505,用于根據(jù)確定出的姿態(tài),計(jì)算相應(yīng)的重力加速度,并將計(jì)算出的重力加速度作為所述移動(dòng)終端的重力加速度。
可選地,還包括:
第四處理模塊506,用于當(dāng)確定出的姿態(tài)滿足所述移動(dòng)終端的屏幕翻轉(zhuǎn)條件,對(duì)所述移動(dòng)終端執(zhí)行屏幕翻轉(zhuǎn)操作。
移動(dòng)終端500能夠?qū)崿F(xiàn)圖1至圖4的方法實(shí)施例中移動(dòng)終端實(shí)現(xiàn)的各個(gè)過(guò)程,為避免重復(fù),這里不再贅述。本發(fā)明實(shí)施例的移動(dòng)終端500,通過(guò)記錄移動(dòng)終端上所設(shè)置的振動(dòng)馬達(dá)啟動(dòng)前的該移動(dòng)終端的姿態(tài)信息,并在振動(dòng)馬達(dá)啟動(dòng)后,依據(jù)獲取的移動(dòng)終端的角速度數(shù)據(jù),計(jì)算該移動(dòng)終端的旋轉(zhuǎn)角度,以便了解到該移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)后的姿態(tài)變化情況,進(jìn)而確定出當(dāng)前該移動(dòng)終端的姿態(tài),避免了僅依靠重力傳感器的檢測(cè)數(shù)據(jù)對(duì)移動(dòng)終端的姿態(tài)進(jìn)行確定時(shí),受振動(dòng)馬達(dá)工作影響判斷出現(xiàn)誤差的問(wèn)題,使使用重力傳感器的用戶場(chǎng)景不受振動(dòng)馬達(dá)的工作干擾,帶給用戶更佳地使用體驗(yàn)。
第三實(shí)施例
圖8是本發(fā)明另一實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖。圖8所示的移動(dòng)終端800包括:至少一個(gè)處理器801、存儲(chǔ)器802、至少一個(gè)網(wǎng)絡(luò)接口804和其他用戶接口803。移動(dòng)終端800中的各個(gè)組件通過(guò)總線系統(tǒng)805耦合在一起??衫斫?,總線系統(tǒng)805用于實(shí)現(xiàn)這些組件之間的連接通信??偩€系統(tǒng)805除包括數(shù)據(jù)總線之外,還包括電源總線、控制總線和狀態(tài)信號(hào)總線。但是為了清楚說(shuō)明起見(jiàn),在圖8中將各種總線都標(biāo)為總線系統(tǒng)805。移動(dòng)終端800還設(shè)置有振動(dòng)馬達(dá)(圖中未示出),用于對(duì)接收到的新消息、來(lái)電等進(jìn)行振動(dòng)提醒。
其中,用戶接口803可以包括顯示器、鍵盤、按鍵或者點(diǎn)擊設(shè)備(例如,鼠標(biāo),軌跡球(trackball)、觸感板或者觸摸屏等。
可以理解,本發(fā)明實(shí)施例中的存儲(chǔ)器802可以是易失性存儲(chǔ)器或非易失性存儲(chǔ)器,或可包括易失性和非易失性存儲(chǔ)器兩者。其中,非易失性存儲(chǔ)器可以是只讀存儲(chǔ)器(Read-Only Memory,ROM)、可編程只讀存儲(chǔ)器(Programmable ROM,PROM)、可擦除可編程只讀存儲(chǔ)器(Erasable PROM,EPROM)、電可擦除可編程只讀存儲(chǔ)器(Electrically EPROM,EEPROM)或閃存。易失性存儲(chǔ)器可以是隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM),其用作外部高速緩存。通過(guò)示例性但不是限制性說(shuō)明,許多形式的RAM可用,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(Static RAM,SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic RAM,DRAM)、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Synchronous DRAM,SDRAM)、雙倍數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Double Data Rate SDRAM,DDRSDRAM)、增強(qiáng)型同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Enhanced SDRAM,ESDRAM)、同步連接動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Synchlink DRAM,SLDRAM)和直接內(nèi)存總線隨機(jī)存取存儲(chǔ)器(Direct Rambus RAM,DRRAM)。本文描述的系統(tǒng)和方法的存儲(chǔ)器802旨在包括但不限于這些和任意其它適合類型的存儲(chǔ)器。
在一些實(shí)施方式中,存儲(chǔ)器802存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者他們的子集,或者他們的擴(kuò)展集:操作系統(tǒng)8021和應(yīng)用程序8022。
其中,操作系統(tǒng)8021,包含各種系統(tǒng)程序,例如框架層、核心庫(kù)層、驅(qū)動(dòng)層等,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)。應(yīng)用程序8022,包含各種應(yīng)用程序,例如媒體播放器(Media Player)、瀏覽器(Browser)等,用于實(shí)現(xiàn)各種應(yīng)用業(yè)務(wù)。實(shí)現(xiàn)本發(fā)明實(shí)施例方法的程序可以包含在應(yīng)用程序8022中。
在本發(fā)明實(shí)施例中,通過(guò)調(diào)用存儲(chǔ)器802存儲(chǔ)的程序或指令,具體的,可以是應(yīng)用程序8022中存儲(chǔ)的程序或指令,處理器801用于記錄在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的姿態(tài)信息;在所述振動(dòng)馬達(dá)啟動(dòng)后,獲取所述移動(dòng)終端的角速度數(shù)據(jù),并根據(jù)所述角速度數(shù)據(jù)計(jì)算所述移動(dòng)終端的旋轉(zhuǎn)角度;根據(jù)所述移動(dòng)終端的旋轉(zhuǎn)角度和記錄的姿態(tài)信息,確定所述移動(dòng)終端的姿態(tài)。
上述本發(fā)明實(shí)施例揭示的方法可以應(yīng)用于處理器801中,或者由處理器801實(shí)現(xiàn)。處理器801可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)處理器801中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器801可以是通用處理器、數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現(xiàn)成可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫(xiě)可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器802,處理器801讀取存儲(chǔ)器802中的信息,結(jié)合其硬件完成上述方法的步驟。
可以理解的是,本文描述的這些實(shí)施例可以用硬件、軟件、固件、中間件、微碼或其組合來(lái)實(shí)現(xiàn)。對(duì)于硬件實(shí)現(xiàn),處理單元可以實(shí)現(xiàn)在一個(gè)或多個(gè)專用集成電路(Application Specific Integrated Circuits,ASIC)、數(shù)字信號(hào)處理器(Digital Signal Processing,DSP)、數(shù)字信號(hào)處理設(shè)備(DSP Device,DSPD)、可編程邏輯設(shè)備(Programmable Logic Device,PLD)、現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)、通用處理器、控制器、微控制器、微處理器、用于執(zhí)行本申請(qǐng)所述功能的其它電子單元或其組合中。
對(duì)于軟件實(shí)現(xiàn),可通過(guò)執(zhí)行本文所述功能的模塊(例如過(guò)程、函數(shù)等)來(lái)實(shí)現(xiàn)本文所述的技術(shù)。軟件代碼可存儲(chǔ)在存儲(chǔ)器中并通過(guò)處理器執(zhí)行。存儲(chǔ)器可以在處理器中或在處理器外部實(shí)現(xiàn)。
可選地,處理器801還用于對(duì)所述角速度數(shù)據(jù)進(jìn)行角度積分,得到所述移動(dòng)終端的旋轉(zhuǎn)角度。
可選地,作為另一個(gè)實(shí)施例,處理器801還用于:獲取在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的重力加速度,根據(jù)所述重力加速度,計(jì)算所述移動(dòng)終端的姿態(tài)信息。
可選地,處理器801還用于:根據(jù)確定出的姿態(tài),計(jì)算相應(yīng)的重力加速度,并將計(jì)算出的重力加速度作為所述移動(dòng)終端的重力加速度。
可選地,處理器801還用于:當(dāng)確定出的姿態(tài)滿足所述移動(dòng)終端的屏幕翻轉(zhuǎn)條件,對(duì)所述移動(dòng)終端執(zhí)行屏幕翻轉(zhuǎn)操作。
移動(dòng)終端800能夠?qū)崿F(xiàn)前述實(shí)施例中移動(dòng)終端實(shí)現(xiàn)的各個(gè)過(guò)程,為避免重復(fù),這里不再贅述。移動(dòng)終端800通過(guò)記錄移動(dòng)終端上所設(shè)置的振動(dòng)馬達(dá)啟動(dòng)前的該移動(dòng)終端的姿態(tài)信息,并在振動(dòng)馬達(dá)啟動(dòng)后,依據(jù)獲取的移動(dòng)終端的角速度數(shù)據(jù),計(jì)算該移動(dòng)終端的旋轉(zhuǎn)角度,以便了解到該移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)后的姿態(tài)變化情況,進(jìn)而確定出當(dāng)前該移動(dòng)終端的姿態(tài),避免了僅依靠重力傳感器的檢測(cè)數(shù)據(jù)對(duì)移動(dòng)終端的姿態(tài)進(jìn)行確定時(shí),受振動(dòng)馬達(dá)工作影響判斷出現(xiàn)誤差的問(wèn)題,使使用重力傳感器的用戶場(chǎng)景不受振動(dòng)馬達(dá)的工作干擾,帶給用戶更佳地使用體驗(yàn)。
第四實(shí)施例
圖9是本發(fā)明另一個(gè)實(shí)施例的移動(dòng)終端的結(jié)構(gòu)示意圖。具體地,圖9中的移動(dòng)終端900可以為手機(jī)、平板電腦、個(gè)人數(shù)字助理(Personal Digital Assistant,PDA)、或車載電腦等。
圖9中的移動(dòng)終端900包括射頻(Radio Frequency,RF)電路910、存儲(chǔ)器920、輸入單元930、顯示單元940、處理器960、音頻電路870、WiFi(Wireless Fidelity)模塊980和電源990。移動(dòng)終端900還設(shè)置有振動(dòng)馬達(dá)(圖中未示出),用于對(duì)接收到的新消息、來(lái)電等進(jìn)行振動(dòng)提醒。
其中,輸入單元930可用于接收用戶輸入的數(shù)字或字符信息,以及產(chǎn)生與移動(dòng)終端900的用戶設(shè)置以及功能控制有關(guān)的信號(hào)輸入。具體地,本發(fā)明實(shí)施例中,該輸入單元930可以包括觸控面板931。觸控面板931,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板931上的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸控面板931可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給該處理器960,并能接收處理器960發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板931。除了觸控面板931,輸入單元930還可以包括其他輸入設(shè)備932,其他輸入設(shè)備932可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
其中,顯示單元940可用于顯示由用戶輸入的信息或提供給用戶的信息以及移動(dòng)終端900的各種菜單界面。顯示單元940可包括顯示面板941,可選的,可以采用LCD或有機(jī)發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來(lái)配置顯示面板941。
應(yīng)注意,觸控面板931可以覆蓋顯示面板941,形成觸摸顯示屏,當(dāng)該觸摸顯示屏檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器960以確定觸摸事件的類型,隨后處理器960根據(jù)觸摸事件的類型在觸摸顯示屏上提供相應(yīng)的視覺(jué)輸出。
觸摸顯示屏包括應(yīng)用程序界面顯示區(qū)及常用控件顯示區(qū)。該應(yīng)用程序界面顯示區(qū)及該常用控件顯示區(qū)的排列方式并不限定,可以為上下排列、左右排列等可以區(qū)分兩個(gè)顯示區(qū)的排列方式。該應(yīng)用程序界面顯示區(qū)可以用于顯示應(yīng)用程序的界面。每一個(gè)界面可以包含至少一個(gè)應(yīng)用程序的圖標(biāo)和/或widget桌面控件等界面元素。該應(yīng)用程序界面顯示區(qū)也可以為不包含任何內(nèi)容的空界面。該常用控件顯示區(qū)用于顯示使用率較高的控件,例如,設(shè)置按鈕、界面編號(hào)、滾動(dòng)條、電話本圖標(biāo)等應(yīng)用程序圖標(biāo)等。
其中處理器960是移動(dòng)終端900的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在第一存儲(chǔ)器921內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在第二存儲(chǔ)器922內(nèi)的數(shù)據(jù),執(zhí)行移動(dòng)終端900的各種功能和處理數(shù)據(jù),從而對(duì)移動(dòng)終端900進(jìn)行整體監(jiān)控??蛇x的,處理器960可包括一個(gè)或多個(gè)處理單元。
在本發(fā)明實(shí)施例中,通過(guò)調(diào)用存儲(chǔ)該第一存儲(chǔ)器921內(nèi)的軟件程序和/或模塊和/或該第二存儲(chǔ)器922內(nèi)的數(shù)據(jù),處理器960用于記錄在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的姿態(tài)信息;在所述振動(dòng)馬達(dá)啟動(dòng)后,獲取所述移動(dòng)終端的角速度數(shù)據(jù),并根據(jù)所述角速度數(shù)據(jù)計(jì)算所述移動(dòng)終端的旋轉(zhuǎn)角度;根據(jù)所述移動(dòng)終端的旋轉(zhuǎn)角度和記錄的姿態(tài)信息,確定所述移動(dòng)終端的姿態(tài)。
可選地,作為另一個(gè)實(shí)施例,處理器960還用于:對(duì)所述角速度數(shù)據(jù)進(jìn)行角度積分,得到所述移動(dòng)終端的旋轉(zhuǎn)角度。
可選地,處理器960還用于:獲取在所述振動(dòng)馬達(dá)啟動(dòng)前所述移動(dòng)終端的重力加速度,根據(jù)所述重力加速度,計(jì)算所述移動(dòng)終端的姿態(tài)信息。
可選地,處理器960還用于:根據(jù)確定出的姿態(tài),計(jì)算相應(yīng)的重力加速度,并將計(jì)算出的重力加速度作為所述移動(dòng)終端的重力加速度。
可選地,處理器960還用于:當(dāng)確定出的姿態(tài)滿足所述移動(dòng)終端的屏幕翻轉(zhuǎn)條件,對(duì)所述移動(dòng)終端執(zhí)行屏幕翻轉(zhuǎn)操作。
可見(jiàn),本實(shí)施例的移動(dòng)終端900通過(guò)記錄移動(dòng)終端上所設(shè)置的振動(dòng)馬達(dá)啟動(dòng)前的該移動(dòng)終端的姿態(tài)信息,并在振動(dòng)馬達(dá)啟動(dòng)后,依據(jù)獲取的移動(dòng)終端的角速度數(shù)據(jù),計(jì)算該移動(dòng)終端的旋轉(zhuǎn)角度,以便了解到該移動(dòng)終端在振動(dòng)馬達(dá)啟動(dòng)后的姿態(tài)變化情況,進(jìn)而確定出當(dāng)前該移動(dòng)終端的姿態(tài),避免了僅依靠重力傳感器的檢測(cè)數(shù)據(jù)對(duì)移動(dòng)終端的姿態(tài)進(jìn)行確定時(shí),受振動(dòng)馬達(dá)工作影響判斷出現(xiàn)誤差的問(wèn)題,使使用重力傳感器的用戶場(chǎng)景不受振動(dòng)馬達(dá)的工作干擾,帶給用戶更佳地使用體驗(yàn)。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本發(fā)明實(shí)施例中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本申請(qǐng)所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。