本發(fā)明實(shí)施例涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種接近傳感器的控制方法、裝置及移動(dòng)終端。
背景技術(shù):
目前,接近傳感器已成為移動(dòng)終端的標(biāo)準(zhǔn)配置,利用接近傳感器可實(shí)現(xiàn)移動(dòng)終端中的各種功能,例如,通話時(shí)防止因臉部觸碰屏幕引起誤操作、自動(dòng)調(diào)整背光以及觸摸屏熄屏手勢(shì)識(shí)別等等。
接近傳感器的測(cè)量值可被稱為接近(proximity)值,接近值可用于表示接近傳感器與物體之間的距離的大小。為了讓接近傳感器檢測(cè)物體的接近/遠(yuǎn)離狀態(tài),一般會(huì)預(yù)先設(shè)置判定閥值,判定閥值一般包括接近閥值和遠(yuǎn)離閥值,通過比較當(dāng)前接近值與判定閥值之間的大小關(guān)系來對(duì)接近/遠(yuǎn)離狀態(tài)進(jìn)行判定。
然而,在移動(dòng)終端的使用過程中,可能會(huì)存在很多因素影響接近傳感器的測(cè)量值,例如環(huán)境因素、接近傳感器自身的工作狀態(tài)以及用戶的使用狀態(tài)等都會(huì)對(duì)接近傳感器的測(cè)量值造成影響。為了保證準(zhǔn)確判斷接近/遠(yuǎn)離狀態(tài),在接近傳感器被使能后,需要采用閥值動(dòng)態(tài)調(diào)整算法來動(dòng)態(tài)調(diào)整判定閥值,該算法一般會(huì)以較快的速度(如100ms的周期)操作接近傳感器芯片的閥值寄存器,即快速地向閥值寄存器中寫入數(shù)據(jù),這樣不僅會(huì)增加系統(tǒng)的負(fù)擔(dān),而且還會(huì)增加接近傳感器芯片的損耗。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的是提供一種接近傳感器的控制方法、裝置及移動(dòng)終端,以優(yōu)化現(xiàn)有的對(duì)接近傳感器進(jìn)行控制的方案。
第一方面,本發(fā)明實(shí)施例提供了一種接近傳感器的控制方法,包括:
獲取接近傳感器的當(dāng)前接近值;
根據(jù)所述當(dāng)前接近值設(shè)定接近值變化區(qū)間,將所述變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入所述接近傳感器,其中,所述當(dāng)前接近值處于所設(shè)定的接近值變化區(qū)間內(nèi);
接收到所述接近傳感器基于所述第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)所述第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值;
控制所述接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
第二方面,本發(fā)明實(shí)施例提供了一種接近傳感器的控制裝置,包括:
接近值獲取模塊,用于獲取接近傳感器的當(dāng)前接近值;
變化區(qū)間設(shè)定模塊,用于根據(jù)所述當(dāng)前接近值設(shè)定接近值變化區(qū)間,其中,所述當(dāng)前接近值處于所設(shè)定的接近值變化區(qū)間內(nèi);
第一類判定閥值確定模塊,用于將所述變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入所述接近傳感器;
第二類判定閥值確定模塊,用于在接收到所述接近傳感器基于所述第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)所述第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值;
狀態(tài)判定控制模塊,用于控制所述接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
第三方面,本發(fā)明實(shí)施例提供了一種移動(dòng)終端,所述移動(dòng)終端集成了本發(fā)明實(shí)施例所述的接近傳感器的控制裝置。
本發(fā)明實(shí)施例中提供的接近傳感器的控制方案,獲取接近傳感器的當(dāng)前接近值,根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間,將變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入接近傳感器,接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),可說明接近值發(fā)生了一定的變化,此時(shí)再啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值,控制接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。通過采用上述技術(shù)方案,當(dāng)接近值發(fā)生一定變化時(shí)才啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法來確定判定閥值,避免頻繁快速地向接近傳感器的閥值寄存器中寫入數(shù)據(jù),可減輕系統(tǒng)的負(fù)擔(dān),進(jìn)而節(jié)省移動(dòng)終端功耗,還可減少接近傳感器芯片的損耗。
附圖說明
圖1為本發(fā)明實(shí)施例一提供的一種接近傳感器的控制方法的流程示意圖;
圖2為本發(fā)明實(shí)施例二提供的一種接近傳感器的控制方法的流程示意圖;
圖3為本發(fā)明實(shí)施例三提供的一種優(yōu)選的接近傳感器的控制方法的流程示意圖;
圖4為本發(fā)明實(shí)施例四提供的接近傳感器的控制裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面結(jié)合附圖并通過具體實(shí)施方式來進(jìn)一步說明本發(fā)明的技術(shù)方案??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各步驟描述成順序的處理,但是其中的許多步驟可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各步驟的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
實(shí)施例一
圖1為本發(fā)明實(shí)施例一提供的一種接近傳感器的控制方法的流程示意圖,該方法可以由接近傳感器的控制裝置執(zhí)行,其中該裝置可由軟件和/或硬件實(shí)現(xiàn),一般可集成在移動(dòng)終端中。如圖1所示,該方法包括:
步驟101、獲取接近傳感器的當(dāng)前接近值。
示例性的,本實(shí)施例中的移動(dòng)終端具體可為手機(jī)、智能手表、平板電腦、游戲機(jī)、個(gè)人數(shù)字助理以及數(shù)字多媒體播放器等配置有接近傳感器的各種設(shè)備。
本實(shí)施例中的接近傳感器可以是任意一種類型的接近傳感器,只要能夠識(shí)別出外界物體的接近或遠(yuǎn)離動(dòng)作即可,例如,可以是紅外接近傳感器或者超聲波式接近傳感器等等。接近傳感器一般以所測(cè)量到的外界物體與接近傳感器之間的距離值的變化來衡量物體的接近或遠(yuǎn)離,接近傳感器的測(cè)量值可被稱為接近值,接近值可用于表示接近傳感器與物體之間的距離的大小。接近值與距離值之間的關(guān)系可以是成正比例的或者成反比例的,具體可根據(jù)接近傳感器的工作原理來確定。接近傳感器中的閥值寄存器會(huì)存儲(chǔ)用于判定接近/遠(yuǎn)離狀態(tài)的判定閥值,該判定閥值一般包括上限閥值和下限閥值,當(dāng)接近值由小于上限閥值變?yōu)榇笥谏舷揲y值,或者從大于下限閥值變?yōu)樾∮谙孪揲y值時(shí),接近傳感器會(huì)產(chǎn)生接近/遠(yuǎn)離狀態(tài)變更中斷,說明接近/遠(yuǎn)離狀態(tài)發(fā)生了變化。接近/遠(yuǎn)離狀態(tài)變更中斷包括兩種變更中斷,即由遠(yuǎn)離狀態(tài)變?yōu)榻咏鼱顟B(tài)的變更中斷和由接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)的變更中斷。
以紅外接近傳感器為例,紅外接近傳感器內(nèi)置有紅外發(fā)射管和紅外接收管,紅外發(fā)射管向外發(fā)射紅外線,檢測(cè)紅外接收管所接收到的紅外線強(qiáng)度來衡量物體距離的遠(yuǎn)近,紅外接近傳感器會(huì)將測(cè)量到的紅外線強(qiáng)度轉(zhuǎn)化為與其呈正比例關(guān)系的測(cè)量值,可將該測(cè)量值稱為接近值。一般的,接近值可為紅外接近傳感器中的模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter,ADC)的輸出值,簡(jiǎn)稱ADC值或AD值。可以理解的是,接近值越大,說明外界物體距離紅外接近傳感器越近,所以可以認(rèn)為紅外接近傳感器的接近值與距離值是成反比例關(guān)系的。對(duì)于紅外接近傳感器來說,判定閥值的上限閥值為接近閥值,下限閥值為遠(yuǎn)離閥值。當(dāng)接近值大于接近閥值時(shí),可判定為接近狀態(tài);當(dāng)接近值小于遠(yuǎn)離閥值時(shí),可判定為遠(yuǎn)離狀態(tài);當(dāng)接近值處于遠(yuǎn)離閥值和接近閥值之間時(shí),保持上一次判定時(shí)的狀態(tài)不變。
本步驟中對(duì)獲取接近傳感器的當(dāng)前接近值的具體時(shí)機(jī)不作限定,示例性的,可在檢測(cè)到接近傳感器啟動(dòng)時(shí),獲取接近傳感器的當(dāng)前接近值;也可在接收到接近傳感器的接近/遠(yuǎn)離狀態(tài)變更中斷之后,獲取接近傳感器的當(dāng)前接近值;也可在檢測(cè)到用戶的指定操作時(shí),獲取接近傳感器的當(dāng)前接近值。
步驟102、根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間,將變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入接近傳感器。
其中,所述當(dāng)前接近值處于所設(shè)定的接近值變化區(qū)間內(nèi)。
示例性的,本實(shí)施例的方案目的是在判斷出當(dāng)前接近值發(fā)生較大的變化時(shí),再啟動(dòng)預(yù)設(shè)閾值動(dòng)態(tài)調(diào)整算法,而接近值變化區(qū)間就是為了衡量當(dāng)前接近值的變化程度,所以,接近值變化區(qū)間的設(shè)定可根據(jù)允許當(dāng)前接近值發(fā)生變化的最大程度來確定??梢岳斫獾氖?,接近值變化區(qū)間的范圍越小,越容易啟動(dòng)預(yù)設(shè)閾值動(dòng)態(tài)調(diào)整算法。
接近值變化區(qū)間可理解為接近值的一個(gè)取值范圍,該取值范圍包含上邊界值和下邊界值,一般上邊界值大于下邊界值,所以上邊界值對(duì)應(yīng)第一類判定閥值的上限閥值,下邊界值對(duì)應(yīng)第一類判定閥值的下限閥值。
優(yōu)選的,根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間可包括:在當(dāng)前接近值的基礎(chǔ)上乘以第一比例值,得到接近值變化區(qū)間的上邊界值,第一比例值大于1;在當(dāng)前接近值的基礎(chǔ)上乘以第二比例值,得到接近值變化區(qū)間的下邊界值,第二比例值小于1。進(jìn)一步的,第一比例值與1的差等于1與第二比例值的差,即,記第一比例值為a,記第二比例值為b,則a-1=1-b=c。c的取值可自由設(shè)定,例如可根據(jù)允許當(dāng)前接近值發(fā)生變化的最大程度來確定。例如,當(dāng)前接近值為100,c=20%,那么a=120%,b=80%,則所設(shè)定的接近值變化區(qū)間為[80,120],那么上邊界值為120,下邊界值為80,將120作為第一類判定閥值的上限閥值寫入接近傳感器,即寫入接近傳感器的閥值寄存器,將80作為第一類判定閥值的下限閥值寫入接近傳感器。
步驟103、接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值。
示例性的,當(dāng)接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),可說明接近值發(fā)生了較大的變化,此時(shí)可啟動(dòng)預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值。預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法可包括根據(jù)環(huán)境因素、接近傳感器自身的工作狀態(tài)或者用戶的使用狀態(tài)等來對(duì)判定閾值進(jìn)行動(dòng)態(tài)調(diào)整的算法。例如,對(duì)于紅外接近傳感器來說,環(huán)境因素可包括環(huán)境光強(qiáng)度等;接近傳感器自身的工作狀態(tài)可包括接近傳感器表面是否存在油污等干擾物;用戶的使用狀態(tài)可包括判斷接近傳感器與用戶之間的距離是否小于預(yù)設(shè)距離值等等。本實(shí)施例對(duì)預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法的具體計(jì)算方式不作限定。在預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法被啟動(dòng)后,可以較快的速度(如50ms)來讀取接近值,并計(jì)算出第二類判定閥值的上限閥值和下限閥值。
步驟104、控制接近傳感器基于第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
示例性的,根據(jù)預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法得到的第二類判定閾值是考慮了多種影響因素而得到的判定閾值,能夠更加準(zhǔn)確的對(duì)接近/遠(yuǎn)離狀態(tài)進(jìn)行判定。
本發(fā)明實(shí)施例一提供的接近傳感器的控制方法,獲取接近傳感器的當(dāng)前接近值,根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間,將變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入接近傳感器,接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),可說明接近值發(fā)生了一定的變化,此時(shí)再啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值,控制接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。通過采用上述技術(shù)方案,當(dāng)接近值發(fā)生一定變化時(shí)才啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法來確定判定閥值,避免頻繁快速地向閥值寄存器中寫入數(shù)據(jù),可減輕系統(tǒng)的負(fù)擔(dān),進(jìn)而節(jié)省移動(dòng)終端功耗,還可減少接近傳感器芯片的損耗。
實(shí)施例二
圖2為本發(fā)明實(shí)施例二提供的一種接近傳感器的控制方法的流程示意圖,本實(shí)施例以上述實(shí)施例為基礎(chǔ),對(duì)接收到接近傳感器基于各判定閾值而產(chǎn)生接近/遠(yuǎn)離狀態(tài)變更中斷時(shí)的上報(bào)機(jī)制進(jìn)行了優(yōu)化。在本實(shí)施例中,在接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),禁止向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件;在控制接近傳感器基于第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定之后,還包括在接收到接近傳感器基于第二類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件。
相應(yīng)的,本實(shí)施例的方法包括如下步驟:
步驟201、獲取接近傳感器的當(dāng)前接近值。
步驟202、根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間,將變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入接近傳感器。
步驟203、在接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),禁止向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件。
在現(xiàn)有方案中,移動(dòng)終端在接收到接近傳感器基于判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),需要向上層(如應(yīng)用層)上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件,以使移動(dòng)終端執(zhí)行相應(yīng)的操作,如熄屏或者亮屏等等。其中,接近/遠(yuǎn)離狀態(tài)變更事件包括兩種變更事件,即由遠(yuǎn)離狀態(tài)變?yōu)榻咏鼱顟B(tài)的變更事件和由接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)的變更事件。本發(fā)明實(shí)施例中的第一類判定閥值實(shí)際上并不是為了判定接近/遠(yuǎn)離狀態(tài),而是為了判斷接近值的變化是否超出了一定的范圍,所以當(dāng)接近傳感器基于第一類判定閥值而產(chǎn)生接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),可表明接近/遠(yuǎn)離狀態(tài)當(dāng)前并未發(fā)生變化,只是可能會(huì)在短時(shí)間內(nèi)發(fā)生變化,所以需要禁止向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件,防止移動(dòng)終端執(zhí)行與該變更終端相應(yīng)的操作而引起接近/遠(yuǎn)離狀態(tài)的誤判問題。
優(yōu)選的,在接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷后,還可包括控制接近傳感器注銷基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷。對(duì)于多數(shù)接近傳感器芯片來說,接近與遠(yuǎn)離變更中斷是交替產(chǎn)生的,即如果當(dāng)前產(chǎn)生了由遠(yuǎn)離狀態(tài)變?yōu)榻咏鼱顟B(tài)的變更中斷(以下簡(jiǎn)稱接近中斷),那么下一次只能產(chǎn)生由接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)的變更中斷(以下簡(jiǎn)稱遠(yuǎn)離中斷),反之亦然。假設(shè)基于第一類判定閥值產(chǎn)生了接近中斷,可說明接近值增加幅度較大,有接近趨勢(shì),移動(dòng)終端很可能有接近動(dòng)作,后續(xù)步驟中在基于第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定時(shí),很可能需要再次產(chǎn)生接近中斷,所以要將此時(shí)的接近中斷注銷,即消除此次的接近狀態(tài)機(jī)。本實(shí)施例對(duì)具體的注銷方式不作限定,可根據(jù)具體的芯片類型來確定。例如,可通過操作接近傳感器的使能位來注銷變更中斷(即重新打開并關(guān)閉一次接近傳感器),也可讀取一下變更中斷的狀態(tài)寄存器等等。
步驟204、啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值。
步驟205、控制接近傳感器基于第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
步驟206、在接收到接近傳感器基于第二類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件。
本發(fā)明實(shí)施例中,第二類判定閥值是用來對(duì)真正的接近/遠(yuǎn)離狀態(tài)進(jìn)行判定的判定閥值,所以,在接收到接近傳感器基于第二類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),需要向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件,以使移動(dòng)終端執(zhí)行相應(yīng)的操作。
本發(fā)明實(shí)施例二提供的接近傳感器的控制方法,根據(jù)不同的判定閾值而產(chǎn)生接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),采用不同的變更事件上報(bào)機(jī)制,在減輕系統(tǒng)負(fù)擔(dān),減少接近傳感器芯片損耗的同時(shí),保證接近/遠(yuǎn)離狀態(tài)變更事件的準(zhǔn)確上報(bào),有效防止移動(dòng)終端的誤操作。
實(shí)施例三
圖3為本發(fā)明實(shí)施例三提供的一種優(yōu)選的接近傳感器的控制方法的流程示意圖,本實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行了優(yōu)化,步驟“獲取接近傳感器的當(dāng)前接近值”可包括:在檢測(cè)到接近傳感器啟動(dòng)時(shí),設(shè)置初始判定閥值;在基于初始判定閥值確定當(dāng)前狀態(tài)為遠(yuǎn)離狀態(tài)時(shí),獲取接近傳感器的當(dāng)前接近值。
進(jìn)一步的,控制所述接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定之后,還可包括:在接收到接近傳感器基于所述第二類判定閥值而產(chǎn)生的由接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)的變更中斷之后,重復(fù)執(zhí)行獲取接近傳感器的當(dāng)前接近值,以及根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間的相關(guān)操作。
以下將由遠(yuǎn)離狀態(tài)變?yōu)榻咏鼱顟B(tài)的變更中斷簡(jiǎn)稱為接近中斷,將由接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)的變更中斷簡(jiǎn)稱為遠(yuǎn)離中斷,將由遠(yuǎn)離狀態(tài)變?yōu)榻咏鼱顟B(tài)的變更事件簡(jiǎn)稱為接近事件,將由接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)的變更事件簡(jiǎn)稱為遠(yuǎn)離事件。
相應(yīng)的,本實(shí)施例的方法包括如下步驟:
步驟301、在檢測(cè)到接近傳感器啟動(dòng)時(shí),設(shè)置初始判定閥值。
示例性的,接近傳感器啟動(dòng)可理解為接近傳感器被使能,即某個(gè)應(yīng)用程序?qū)咏鼈鞲衅鬟M(jìn)行調(diào)用而將接近傳感器打開。初始判定閥值包括初始上限閥值和初始下限閥值,可由系統(tǒng)默認(rèn)設(shè)置。
步驟302、在基于初始判定閥值確定當(dāng)前狀態(tài)為遠(yuǎn)離狀態(tài)時(shí),獲取接近傳感器的當(dāng)前接近值。
一般的,用戶在使用移動(dòng)終端的過程中,外界物體相對(duì)于接近傳感器處于遠(yuǎn)離狀態(tài)的時(shí)間一般比處于接近狀態(tài)的時(shí)間長(zhǎng),所以可在當(dāng)前狀態(tài)為遠(yuǎn)離狀態(tài)時(shí),獲取接近傳感器的當(dāng)前接近值,后續(xù)對(duì)接近值的變化程度進(jìn)行衡量,若變化較大,再啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法。
步驟303、根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間,將變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入接近傳感器。
步驟304、在接收到接近傳感器基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離中斷時(shí),禁止向上層上報(bào)接近/遠(yuǎn)離事件,并控制接近傳感器注銷基于第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離中斷。
步驟305、啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值。
步驟306、控制接近傳感器基于第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
步驟307、在接收到接近傳感器基于第二類判定閥值而產(chǎn)生的接近中斷時(shí),向上層上報(bào)接近事件,并結(jié)束預(yù)設(shè)閾值動(dòng)態(tài)調(diào)整算法的運(yùn)行,繼續(xù)控制接近傳感器基于第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
需要說明的是,在預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法被啟動(dòng)后,該算法是實(shí)時(shí)運(yùn)行的,所以第二類判定閥值是在不斷的根據(jù)環(huán)境、器件工作狀態(tài)以及用戶使用狀態(tài)等情況得到動(dòng)態(tài)調(diào)整的,也即在接收到接近傳感器基于第二類判定閥值而產(chǎn)生的接近中斷之前,預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法會(huì)動(dòng)態(tài)的計(jì)算第二類判定閥值,直到接收到接近傳感器基于第二類判定閥值而產(chǎn)生的接近中斷時(shí),結(jié)束預(yù)設(shè)閾值動(dòng)態(tài)調(diào)整算法的運(yùn)行。隨后,保持第二類判定閾值不變,并繼續(xù)控制接近傳感器基于第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
步驟308、在接收到接近傳感器基于第二類判定閥值而產(chǎn)生的遠(yuǎn)離中斷時(shí),向上層上報(bào)遠(yuǎn)離事件。
步驟309、獲取接近傳感器的當(dāng)前接近值,并返回執(zhí)行步驟303。
優(yōu)選的,可在接收到接近傳感器基于第二類判定閥值而產(chǎn)生的遠(yuǎn)離中斷的時(shí)刻開始等待預(yù)設(shè)時(shí)長(zhǎng)后獲取接近傳感器的當(dāng)前接近值。這樣設(shè)置的好處在于,在剛剛產(chǎn)生遠(yuǎn)離中斷時(shí),由于接近值剛剛達(dá)到遠(yuǎn)離閥值,此時(shí)的接近值相比與完全無遮擋狀態(tài)下的接近值來說較大,接近值在短時(shí)間內(nèi)可能會(huì)迅速變小,所以等待預(yù)設(shè)時(shí)長(zhǎng)后,基本能夠達(dá)到完全無遮擋狀態(tài),根據(jù)此時(shí)的接近值來設(shè)定接近值變化區(qū)間能夠更加合理的判斷接近值的變化趨勢(shì),也即能夠更加合理的判斷從遠(yuǎn)離狀態(tài)變?yōu)榻咏鼱顟B(tài)的趨勢(shì)。
本實(shí)施例中,僅在遠(yuǎn)離狀態(tài)下根據(jù)當(dāng)前接近值設(shè)定接近值變化區(qū)間的好處在于,用戶在使用移動(dòng)終端的過程中,往往從遠(yuǎn)離狀態(tài)變?yōu)榻咏鼱顟B(tài)時(shí)移動(dòng)距離較長(zhǎng),更容易判斷出接近值的變化趨勢(shì),而從接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)時(shí)移動(dòng)距離較短,用于判斷接近值變化趨勢(shì)的時(shí)間較少,所以本實(shí)施例的方法可保證快速準(zhǔn)確的判定出遠(yuǎn)離事件。
本發(fā)明實(shí)施例三提供的接近傳感器的控制方法,在遠(yuǎn)離狀態(tài)下,當(dāng)接近值發(fā)生一定變化時(shí)才啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法來確定判定閥值,避免頻繁快速地向閥值寄存器中寫入數(shù)據(jù),可減輕系統(tǒng)的負(fù)擔(dān),進(jìn)而節(jié)省移動(dòng)終端功耗,還可減少接近傳感器芯片的損耗。
實(shí)施例四
圖4為本發(fā)明實(shí)施例四提供的接近傳感器的控制裝置的結(jié)構(gòu)框圖,該裝置可由軟件和/或硬件實(shí)現(xiàn),一般集成在移動(dòng)終端中,可通過執(zhí)行接近傳感器的控制方法來對(duì)接近傳感器進(jìn)行控制。如圖4所示,該裝置包括:接近值獲取模塊401、變化區(qū)間設(shè)定模塊402、第一類判定閥值確定模塊403、第二類判定閥值確定模塊404和狀態(tài)判定控制模塊405。
其中,接近值獲取模塊401,用于獲取接近傳感器的當(dāng)前接近值;變化區(qū)間設(shè)定模塊402,用于根據(jù)所述當(dāng)前接近值設(shè)定接近值變化區(qū)間,其中,所述當(dāng)前接近值處于所設(shè)定的接近值變化區(qū)間內(nèi);第一類判定閥值確定模塊403,用于將所述變化區(qū)間的兩個(gè)邊界值分別作為第一類判定閥值的上限閥值和下限閥值寫入所述接近傳感器;第二類判定閥值確定模塊404,用于在接收到所述接近傳感器基于所述第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法對(duì)所述第一類判定閥值的上限閥值和下限閥值進(jìn)行動(dòng)態(tài)調(diào)整,得到第二類判定閥值;狀態(tài)判定控制模塊405,用于控制所述接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定。
本發(fā)明實(shí)施例四提供的接近傳感器的控制裝置,當(dāng)接近值發(fā)生一定變化時(shí)才啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法來確定判定閥值,避免頻繁快速地向閥值寄存器中寫入數(shù)據(jù),可減輕系統(tǒng)的負(fù)擔(dān),進(jìn)而節(jié)省移動(dòng)終端功耗,還可減少接近傳感器芯片的損耗。
在上述實(shí)施例的基礎(chǔ)上,所述接近值獲取模塊具體用于:在檢測(cè)到接近傳感器啟動(dòng)時(shí),設(shè)置初始判定閥值;在基于所述初始判定閥值確定當(dāng)前狀態(tài)為遠(yuǎn)離狀態(tài)時(shí),獲取所述接近傳感器的當(dāng)前接近值。
在上述實(shí)施例的基礎(chǔ)上,所述變化區(qū)間設(shè)定模塊具體用于:在所述當(dāng)前接近值的基礎(chǔ)上乘以第一比例值,得到接近值變化區(qū)間的上邊界值,所述第一比例值大于1;在所述當(dāng)前接近值的基礎(chǔ)上乘以第二比例值,得到接近值變化區(qū)間的下邊界值,所述第二比例值小于1。
在上述實(shí)施例的基礎(chǔ)上,該裝置還包括:變更事件上報(bào)模塊,用于在接收到所述接近傳感器基于所述第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),禁止向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件;以及用于在控制所述接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定之后,在接收到所述接近傳感器基于所述第二類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),向上層上報(bào)接近/遠(yuǎn)離狀態(tài)變更事件。
在上述實(shí)施例的基礎(chǔ)上,該裝置還包括:注銷控制模塊,用于在接收到所述接近傳感器基于所述第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷時(shí),控制所述接近傳感器注銷所述基于所述第一類判定閥值而產(chǎn)生的接近/遠(yuǎn)離狀態(tài)變更中斷。
在上述實(shí)施例的基礎(chǔ)上,該裝置還包括:重復(fù)執(zhí)行控制模塊,用于在控制所述接近傳感器基于所述第二類判定閥值進(jìn)行接近/遠(yuǎn)離狀態(tài)的判定之后,若接收到所述接近傳感器基于所述第二類判定閥值而產(chǎn)生的由接近狀態(tài)變?yōu)檫h(yuǎn)離狀態(tài)的變更中斷,則控制相關(guān)模塊重復(fù)執(zhí)行獲取接近傳感器的當(dāng)前接近值,以及根據(jù)所述當(dāng)前接近值設(shè)定接近值變化區(qū)間的相關(guān)操作。
實(shí)施例五
本實(shí)施例五提供了一種移動(dòng)終端,該移動(dòng)終端包括本發(fā)明實(shí)施例中所述的接近傳感器的控制裝置,可通過執(zhí)行接近傳感器的控制方法來對(duì)接近傳感器進(jìn)行控制。
示例性的,本實(shí)施例中的移動(dòng)終端具體可為手機(jī)、智能手表、平板電腦、游戲機(jī)、個(gè)人數(shù)字助理以及數(shù)字多媒體播放器等配置有接近傳感器的各種設(shè)備。
用戶在使用本實(shí)施例中的移動(dòng)終端的過程中,當(dāng)接近值發(fā)生一定變化時(shí)移動(dòng)終端才啟用預(yù)設(shè)閥值動(dòng)態(tài)調(diào)整算法來確定判定閥值,避免頻繁快速地向閥值寄存器中寫入數(shù)據(jù),可減輕系統(tǒng)的負(fù)擔(dān),進(jìn)而節(jié)省移動(dòng)終端功耗,還可減少接近傳感器芯片的損耗。
上述實(shí)施例中提供的接近傳感器的控制裝置及移動(dòng)終端可執(zhí)行本發(fā)明任意實(shí)施例所提供的接近傳感器的控制方法,具備執(zhí)行該方法相應(yīng)的功能模塊和有益效果。未在上述實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本發(fā)明任意實(shí)施例所提供的接近傳感器的控制方法。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。