本發(fā)明實施例涉及移動終端技術領域,尤其涉及一種移動終端的位置信息獲取方法、裝置及移動終端。
背景技術:
隨著信息技術的發(fā)展,移動終端(如手機、平板電腦等等)的使用也越來越普遍,移動終端成為了人們生活的必需品。目前,越來越多移動終端上的APP(Application,應用)需要獲取用戶當前的位置信息,如天氣、百度外賣、大眾點評等LBS(Location Based Service,基于位置服務)應用,以為用戶提供更好的服務。
目前絕大多數(shù)LBS應用均采用第三方定位SDK(Software Development Kit,軟件開發(fā)工具包)的方式獲取位置信息,每個LBS應用內(nèi)部均內(nèi)置一個SDK,當LBS應用在需要位置信息時,發(fā)起定位請求,并通過內(nèi)置的SDK從百度、高德或騰訊等定位服務器獲取用戶當前的位置信息。
每個LBS應用通過內(nèi)部的SDK訪問定位服務器,獲取用戶位置信息,浪費了移動終端系統(tǒng)和定位服務器的資源,達不到資源的最大利用率。并且SDK直接訪問定位服務器的方式需要時間較長,不能快速響應用戶的請求。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種移動終端的位置信息獲取方法、裝置及移動終端,可以減少頻繁訪問定位服務器的頻率,快速獲取移動終端的位置信息。
第一方面,本發(fā)明實施例提供了一種移動終端的位置信息獲取方法,包括:
當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;
若保存有歷史定位結果信息,則判斷所述歷史定位結果信息的有效性;
當判斷所述歷史定位結果信息有效時,根據(jù)所述歷史定位結果信息確定所述移動終端的當前位置信息。
第二方面,本發(fā)明實施例提供了一種移動終端的位置信息獲取裝置,包括:
歷史定位結果信息判斷模塊,用于當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;
有效性判斷模塊,用于若保存有歷史定位結果信息,則判斷所述歷史定位結果信息的有效性;
當前位置信息確定模塊,用于當判斷所述歷史定位結果信息有效時,根據(jù)所述歷史定位結果信息確定所述移動終端的當前位置信息。
第三方面,本發(fā)明實施例提供了一種移動終端,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:
當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;
若保存有歷史定位結果信息,則判斷所述歷史定位結果信息的有效性;
當判斷所述歷史定位結果信息有效時,根據(jù)所述歷史定位結果信息確定所述移動終端的當前位置信息。
本發(fā)明實施例中提供的移動終端的位置信息獲取方法,當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;若保存有歷史定位結果信息,則判斷歷史定位結果信息的有效性;當判斷歷史定位結果信息有效時,根據(jù)歷史定位結果信息確定移動終端的當前位置信息。通過采用上述技術方案,將保存有的有效的歷史定位結果信息作為移動終端當前的位置信息,不僅可以有效減少訪問定位服務器的頻率,而且可以快速獲取移動終端當前位置信息。
附圖說明
圖1為本發(fā)明實施例提供的一種移動終端的位置信息獲取方法的流程示意圖;
圖2a為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖;
圖2b為本發(fā)明實施例提供的通過定位服務器獲取位置信息的過程示意圖;
圖3為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖;
圖4為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖;
圖5為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖;
圖6為本發(fā)明實施例提供的一種移動終端的位置信息獲取裝置的結構框圖;
圖7為本發(fā)明實施例提供的一種移動終端的結構示意圖。
具體實施方式
下面結合附圖并通過具體實施方式來進一步說明本發(fā)明的技術方案??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。
在更加詳細地討論示例性實施例之前應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各步驟描述成順序的處理,但是其中的許多步驟可以被并行地、并發(fā)地或者同時實施。此外,各步驟的順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應于方法、函數(shù)、規(guī)程、子例程、子程序等等。
圖1為本發(fā)明實施例提供的移動終端的位置信息獲取方法的流程示意圖,該方法可以由移動終端的位置信息獲取裝置執(zhí)行,其中該裝置可由軟件和/或硬件實現(xiàn),一般可集成在移動終端中。如圖1所示,該方法包括:
步驟101、當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息。
在本實施例中,LBS應用是需要通過獲取用戶當前位置信息提供服務的應用軟件,通過獲取用戶的位置信息以為用戶提供更好的服務。如天氣應用,當用戶需要通過天氣應用獲取用戶所在地區(qū)的天氣信息時,由于各個地區(qū)的天氣情況不盡相同,因此天氣應用需要通過定位用戶所在地區(qū)的位置信息,以更精確的為用戶提供準確的天氣信息。當移動終端接收到至少一個LBS應用發(fā)起的定位請求時,判斷在移動終端中是否保存有歷史定位結果信息。歷史定位結果信息可以保存在移動終端的某個本地文件中,以方便獲取歷史定位結果信息,該本地文件向移動終端中各LBS應用開放訪問權限。具體的,移動終端中的各個LBS應用通過與定位服務器交互來獲取位置信息,在不同的時間、地點,與移動終端交互的定位服務器可能不同,即定位服務器的IP地址不同,但同一類型的定位服務器的DNS是固定不變的,如百度定位服務器的DNS為loc.map.baidu.com。移動終端的系統(tǒng)實時監(jiān)聽DNS(Domain Name System,域名系統(tǒng))與移動終端的交互數(shù)據(jù),并從交互數(shù)據(jù)中解碼位置信息,并將其位置信息保存在向各LBS應用開放訪問權項的本地文件中,以方便后續(xù)位置信息的共享。其中,歷史定位結果信息可以包括第一位置和第一位置對應的第一時間戳,第一時間戳反映了移動終端獲取第一位置的時間信息。歷史定位結果信息也可以包括第一位置和獲取第一位置使用的第一基站信息或第一WIFI熱點信息??蛇x的,歷史定位結果信息還可以同時包括第一位置、第一位置對應的時間戳及獲取第一位置使用的第一基站信息或第一WIFI熱點信息。需要說明的是,本實施例對歷史定位結果信息的具體信息內(nèi)容不做限定。
可選的,當接收到LBS應用通過SDK發(fā)起的定位請求時,判斷預先創(chuàng)建的向各LBS應用開放訪問權限的文件中是否保存有移動終端的歷史定位結果信息。判斷在當前發(fā)起定位請求的LBS應用之前,是否存在移動終端中某LBS應用將其獲取的位置信息保存在開放訪問權限的文件中。
可選的,當接收到LBS應用通過網(wǎng)絡定位提供者(Network Location Provider,NLP)發(fā)起的定位請求時,判斷NLP的網(wǎng)絡定位服務中是否保存有移動終端的歷史定位結果信息。當LBS應用通過NLP發(fā)起定位請求時,判斷在當前通過NLP發(fā)起定位請求的LBS應用之前,是否存在移動終端中某LBS應用也通過NLP的方式獲取到位置信息。
移動終端中的任一LBS應用可以通過內(nèi)置在本LBS應用中的SDK發(fā)起定位請求,或者通過系統(tǒng)的NLP發(fā)起定位請求。每個移動終端中均包含至少一個NLP,NLP由NLP統(tǒng)一接口和網(wǎng)絡定位服務兩部分組成。其中,NLP統(tǒng)一接口是通過系統(tǒng)的途徑獲取移動終端的位置信息的,網(wǎng)絡定位服務是指網(wǎng)絡定位方案商提供的獲取移動終端位置信息的解決方案。
當LBS應用通過SDK發(fā)起定位請求時,判斷預先創(chuàng)建的向各LBS應用開放訪問權限的文件中是否保存有移動終端的歷史定位結果信息,若該文件中保存有移動終端的歷史定位結果信息,則判斷保存的移動終端的歷史定位結果信息是否有效,如果有效,則根據(jù)歷史定位結果信息確定移動終端的當前位置信息,如果無效或者該文件中沒有保存移動終端的歷史定位結果信息,則通過SDK訪問定位服務器,以獲取移動終端的當前位置信息,并將獲取的移動終端的當前位置信息保存在向各LBS應用開放訪問權限的文件中,以供后續(xù)LBS應用發(fā)起定位請求時使用。
當LBS應用通過NLP發(fā)起定位請求時,判斷NLP綁定的網(wǎng)絡定位服務的緩存區(qū)域中是否保存有移動終端的歷史定位結果信息,若該緩存區(qū)域中保存有移動終端的歷史定位結果信息,則判斷保存的移動終端的歷史定位結果信息是否有效,如果有效,則根據(jù)歷史定位結果信息確定移動終端的當前位置信息,如果無效或者該緩存區(qū)域中沒有保存移動終端的歷史定位結果信息,則通過移動終端的NLP所綁定的至少一種網(wǎng)絡定位服務同時向各自對應的定位服務器發(fā)起定位請求,并將獲取得到的位置信息比如最先獲取到的位置信息通過NLP接口提供給LBS應用。移動終端的NLP所綁定的至少一種網(wǎng)絡定位服務均向各自對應的定位服務器發(fā)起了定位請求,最終都會獲得各自對應的定位服務器返回的位置信息,并將獲取的位置信息分別保存在各自的緩存區(qū)域,以供后續(xù)LBS應用發(fā)起定位請求時使用。
步驟102、若保存有歷史定位結果信息,則判斷歷史定位結果信息的有效性。
在本實施例中,當確定移動終端中保存有歷史定位結果信息時,進一步判斷歷史定位信息是否有效。在判斷歷史定位結果信息的有效性之前,還包括:獲取移動終端的當前時間戳。其中,當前時間戳反映了移動終端需要獲取位置時的時間信息。相應的,在判斷歷史定位結果信息的有效性時,可以判斷第一位置對應的第一時間戳與移動終端的當前時間戳的差值是否小于預設時間閾值。當?shù)谝粫r間戳與移動終端的當前時間戳的差值小于預設時間閾值時,則判斷歷史定位結果信息為有效信息,否則判斷歷史定位結果信息為無效信息。其中,預設時間閾值的大小可以根據(jù)用戶需要進行適應性調整,當預設時間閾值設定的越小,判斷歷史定位結果信息的有效性的準確度越高。
優(yōu)選的,在判斷歷史定位結果信息的有效性之前,還包括:獲取移動終端的當前時間戳;獲取第一位置對應的第一時間戳與移動終端的當前時間戳的時間區(qū)間內(nèi)移動終端的加速度信息;根據(jù)加速度信息計算移動終端在所述時間區(qū)間內(nèi)的位移。相應的,在判斷歷史定位結果信息的有效性時,可以判斷移動終端在所述時間區(qū)間內(nèi)的位移是否小于預設位移閾值。當移動終端在所述時間區(qū)間內(nèi)的位移小于預設位移閾值時,判斷歷史定位結果信息有效,否則判斷歷史定位結果信息無效。其中,預設位移閾值的大小可以根據(jù)用戶需要進行適應性調整,當預設位移閾值設定的越小,判斷歷史定位結果信息的有效性的準確度越高。具體的,利用加速度傳感器獲取第一位置對應的第一時間戳與移動終端的當前時間戳的時間區(qū)間內(nèi),移動終端的加速度在(x,y,z)坐標軸上的加速度分量(a,b,c),其中,x軸方向為移動終端屏幕橫向方向,y軸方向為移動終端屏幕豎向方向,z軸方向為與移動終端屏幕垂直方向。并對加速度分量(a,b,c)合成,得到移動終端的合加速度A。示例性的,根據(jù)位移公式S=At2/2計算移動終端在第一位置對應的第一時間戳與移動終端的當前時間戳的時間區(qū)間內(nèi)的移動終端的位移。需要說明的是,移動終端的合加速度是帶方向的,且在第一位置對應的第一時間戳與移動終端的當前時間戳的時間區(qū)間內(nèi),移動終端可以做勻加速度移動,即以恒定的加速度移動,也可以做變加速度移動。
優(yōu)選的,在判斷歷史定位結果信息的有效性之前,還包括:獲取當前與移動終端連接的第二基站信息或第二WIFI熱點信息。其中,當前與移動終端連接的第二基站信息或第二WIFI熱點信息反應了移動終端當前的網(wǎng)絡連接情況。相應的,在判斷歷史定位結果信息的有效性時,可以判斷第一基站信息或第一WIFI熱點信息與第二基站信息或第二WIFI熱點信息是否相同。即判斷第一基站信息與第二基站信息是否相同,或判斷第一WIFI熱點信息與第二WIFI熱點信息是否相同。當?shù)谝换拘畔⑴c第二基站信息相同或第一WIFI熱點信息與第二WIFI熱點信息相同時,則判斷歷史定位結果信息為有效信息,否則判斷歷史定位結果信息為無效信息?;竞蚖IFI熱點在一定范圍內(nèi)是可以被移動終端連接的,當超過其可以覆蓋的范圍時,移動終端無法進行網(wǎng)絡連接,所以獲取歷史定位結果信息中的第一位置使用的網(wǎng)絡與當前移動終端連接的網(wǎng)絡相同時,可以進一步判定移動終端的當前位置與第一位置相同或相差不遠,所以可以判斷歷史定位結果信息為有效信息。
步驟103、當判斷歷史定位結果信息有效時,根據(jù)歷史定位結果信息確定移動終端的當前位置信息。
當判斷歷史定位結果信息為有效信息時,可以將歷史定位結果信息中的位置信息作為移動終端的當前位置信息。示例性的,歷史定位結果信息包括第一位置和第一位置對應的時間戳,將第一位置作為移動終端當前的位置,并將第一位置對應的時間戳與第一位置同時保存并作為移動終端當前的位置信息。
本發(fā)明實施例中提供的移動終端的位置信息獲取方法,當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;若保存有歷史定位結果信息,則判斷歷史定位結果信息的有效性;當判斷歷史定位結果信息有效時,根據(jù)歷史定位結果信息確定移動終端的當前位置信息。通過采用上述技術方案,將保存有的有效的歷史定位結果信息作為移動終端當前的位置信息,不僅可以有效減少訪問定位服務器的頻率,而且可以快速獲取移動終端當前位置信息。
圖2a為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖,本實施例的方法包括如下步驟:
步驟201、接收到LBS應用發(fā)起的定位請求。
步驟202、判斷是否保存有移動終端的歷史定位結果信息,若是,則執(zhí)行步驟203,若否,則執(zhí)行步驟205。
步驟203、判斷歷史定位結果信息是否有效,若是,則執(zhí)行步驟204,若否,則執(zhí)行步驟205。
步驟204、根據(jù)歷史定位結果信息確定移動終端的當前位置信息。
步驟205、向定位服務器發(fā)起定位請求,將定位服務器反饋的位置信息作為移動終端的當前位置信息并進行保存。
在本實施例中,當判斷移動終端中沒有保存有歷史定位結果信息,或移動終端中保存有歷史定位結果信息,但保存的歷史定位結果信息無效時,移動終端向定位服務器發(fā)起定位請求,并將定位服務器反饋的位置信息作為移動終端的當前位置信息。圖2b為本實施例提供的通過定位服務器獲取位置信息的過程示意圖。如圖2b所示,當用戶打開移動終端中某LBS應用,并需要通過LBS應用獲取當前位置信息時,用戶向移動終端中的LBS應用發(fā)起定位請求,LBS應用接受定位請求,并將該定位請求發(fā)送給LBS應用中內(nèi)置的SDK,其中SDK可以為高德SDK,如高德地圖的軟件開發(fā)工具包,也可以為百度SDK,如百度地圖的軟件開發(fā)工具包,還可以為騰訊SDK,如微信的軟件開發(fā)工具包,本實施例對此并不做限定。第三方定位SDK接收到LBS應用發(fā)起的定位請求時,掃描網(wǎng)絡連接信息以獲取移動終端連接的基站信息或WIFI熱點信息,并將基站信息或WIFI熱點信息與定位請求打包發(fā)送給定位服務器。定位服務器根據(jù)移動終端當前連接的基站信息或WIFI熱點信息計算出移動終端當前的位置信息,并將該位置信息通過第三方定位SDK發(fā)送移動終端,移動終端最終將位置信息反饋給用戶。
本發(fā)明實施例中提供的移動終端的位置信息獲取方法,若判斷歷史定位結果信息無效或沒有保存有歷史定位結果信息,則向定位服務器發(fā)起定位請求,并將定位服務器反饋的位置信息作為移動終端的當前位置信息。通過采用上述技術方案,將保存有的有效的歷史定位結果信息作為移動終端當前的位置信息,不僅可以有效減少訪問定位服務器的頻率,快速獲取移動終端當前位置信息,而且可以節(jié)省移動終端系統(tǒng)和定位服務器的資源,達到資源的最大利用率。
圖3為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖,本實施例是上述實施例的一個優(yōu)選方案,相應的,如圖3所示,本實施例的方法包括如下步驟:
步驟301、接收到LBS應用發(fā)起的定位請求。
步驟302、判斷是否保存有移動終端的歷史定位結果信息,若是,則執(zhí)行步驟303,若否,則執(zhí)行步驟307。
步驟303、獲取移動終端的當前時間戳,判斷歷史定位結果信息中的第一位置對應的第一時間戳與移動終端的當前時間戳的差值是否有小于預設時間閾值,若是,則執(zhí)行步驟304,若否,則執(zhí)行步驟305。
步驟304、判斷歷史定位結果信息有效,并執(zhí)行步驟306。
步驟305、判斷歷史定位結果信息無效,并執(zhí)行步驟307。
步驟306、根據(jù)歷史定位結果信息確定移動終端的當前位置信息。
步驟307、向定位服務器發(fā)起定位請求,將定位服務器反饋的位置信息作為移動終端的當前位置信息,并進行保存。
本發(fā)明實施例中提供的移動終端的位置信息獲取方法,當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;若保存有歷史定位結果信息,則判斷歷史定位結果信息中的第一位置對應的第一時間戳與移動終端的當前時間戳的差值是否有小于預設時間閾值,若是,則判斷歷史定位結果信息有效,否則判斷歷史定位結果信息無效;當判斷歷史定位結果信息有效時,根據(jù)歷史定位結果信息確定移動終端的當前位置信息。若判斷歷史定位結果信息無效或沒有保存有歷史定位結果信息,則向定位服務器發(fā)起定位請求,并將定位服務器反饋的位置信息作為移動終端的當前位置信息。通過采用上述技術方案,將保存有的有效的歷史定位結果信息作為移動終端當前的位置信息,不僅可以有效減少訪問定位服務器的頻率,快速獲取移動終端當前位置信息,而且可以節(jié)省移動終端系統(tǒng)和定位服務器的資源,達到資源的最大利用率。
圖4為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖,本實施例是上述實施例的一個優(yōu)選方案,相應的,如圖4所示,本實施例的方法包括如下步驟:
步驟401、接收到LBS應用發(fā)起的定位請求。
步驟402、判斷是否保存有移動終端的歷史定位結果信息,若是,則執(zhí)行步驟403,若否,則執(zhí)行步驟410。
步驟403、獲取移動終端的當前時間戳。
步驟404、獲取第一位置對應的第一時間戳與移動終端的當前時間戳的時間區(qū)間內(nèi)的移動終端的加速度信息。
步驟405、根據(jù)加速度信息計算移動終端在所述時間區(qū)間內(nèi)的位移。
步驟406、判斷移動終端在所述時間區(qū)間內(nèi)的位移是否小于預設位移閾值,若是,則執(zhí)行步驟407,若否,則執(zhí)行步驟408。
步驟407、判斷歷史定位結果信息有效,并執(zhí)行步驟409。
步驟408、判斷歷史定位結果信息無效,并執(zhí)行步驟410。
步驟409、根據(jù)歷史定位結果信息確定移動終端的當前位置信息。
步驟410、向定位服務器發(fā)起定位請求,將定位服務器反饋的位置信息作為移動終端的當前位置信息,并進行保存。
本發(fā)明實施例中提供的移動終端的位置信息獲取方法,當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;若保存有歷史定位結果信息,則獲取移動終端的當前時間戳,并獲取第一位置對應的第一時間戳與移動終端的當前時間戳的時間區(qū)間內(nèi)移動終端的加速度信息;根據(jù)加速度信息計算移動終端在所述時間區(qū)間內(nèi)的位移。并判斷移動終端在所述時間區(qū)間內(nèi)的位移是否小于預設位移閾值,若是,則判斷歷史定位結果信息有效,否則判斷歷史定位結果信息無效;當判斷歷史定位結果信息有效時,根據(jù)歷史定位結果信息確定移動終端的當前位置信息。若判斷歷史定位結果信息無效或沒有保存有歷史定位結果信息,則向定位服務器發(fā)起定位請求,并將定位服務器反饋的位置信息作為移動終端的當前位置信息。通過采用上述技術方案,能夠精確地判斷歷史定位結果信息的有效性,并將保存有的有效的歷史定位結果信息作為移動終端當前的位置信息,不僅可以有效減少訪問定位服務器的頻率,快速獲取移動終端當前位置信息,而且可以節(jié)省移動終端系統(tǒng)和定位服務器的資源,達到資源的最大利用率。
圖5為本發(fā)明實施例提供的另一種移動終端的位置信息獲取方法的流程示意圖,本實施例是上述實施例的一個優(yōu)選方案,相應的,如圖5所示,本實施例的方法包括如下步驟:
步驟501、接收到LBS應用發(fā)起的定位請求。
步驟502、判斷是否保存有移動終端的歷史定位結果信息,若是,則執(zhí)行步驟503,若否,則執(zhí)行步驟507。
步驟503、獲取當前與移動終端連接的第二基站信息或第二WIFI熱點信息,判斷獲取歷史定位結果信息中的第一位置使用的第一基站信息或第一WIFI熱點信息與第二基站信息或第二WIFI熱點信息是否相同,若是,則執(zhí)行步驟504,若否,則執(zhí)行步驟505。
步驟504、判斷歷史定位結果信息有效,并執(zhí)行步驟506。
步驟505、判斷歷史定位結果信息無效,并執(zhí)行步驟507。
步驟506、根據(jù)歷史定位結果信息確定移動終端的當前位置信息。
步驟507、向定位服務器發(fā)起定位請求,并將定位服務器反饋的位置信息作為移動終端的當前位置信息。
本發(fā)明實施例中提供的移動終端的位置信息獲取方法,當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;若保存有歷史定位結果信息,則判斷獲取歷史定位結果信息中的第一位置使用的第一基站信息或第一WIFI熱點信息與第二基站信息或第二WIFI熱點信息是否相同,若是,則判斷歷史定位結果信息有效,否則判斷歷史定位結果信息無效的有效性;當判斷歷史定位結果信息有效時,根據(jù)歷史定位結果信息確定移動終端的當前位置信息。若判斷歷史定位結果信息無效或沒有保存有歷史定位結果信息,則向定位服務器發(fā)起定位請求,并將定位服務器反饋的位置信息作為移動終端的當前位置信息。通過采用上述技術方案,將保存有的有效的歷史定位結果信息作為移動終端當前的位置信息,不僅可以有效減少訪問定位服務器的頻率,快速獲取移動終端當前位置信息,而且可以節(jié)省移動終端系統(tǒng)和定位服務器的資源,達到資源的最大利用率。
圖6為本發(fā)明實施例提供的移動終端的位置信息獲取裝置的結構框圖,該裝置可由軟件和/或硬件實現(xiàn),一般集成在移動終端中,可通過執(zhí)行移動終端的位置信息獲取方法來獲取移動終端的位置信息。如圖6所示,該裝置包括:歷史定位結果信息判斷模塊601、有效性判斷模塊602及當前位置信息確定模塊603。
其中,歷史定位結果信息判斷模塊601,用于當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;有效性判斷模塊602,用于若保存有歷史定位結果信息,則判斷所述歷史定位結果信息的有效性;當前位置信息確定模塊603,用于當判斷所述歷史定位結果信息有效時,根據(jù)所述歷史定位結果信息確定所述移動終端的當前位置信息。
本發(fā)明實施例中提供的移動終端的位置信息獲取裝置,將保存有的有效的歷史定位結果信息作為移動終端當前的位置信息,不僅可以有效減少訪問定位服務器的頻率,而且可以快速獲取移動終端當前位置信息。
在上述實施例的基礎上,所述歷史定位結果信息包括第一位置和第一位置對應的第一時間戳。
在上述實施例的基礎上,還包括:
第一時間戳獲取模塊,用于在判斷所述歷史定位結果信息的有效性之前,獲取所述移動終端的當前時間戳;
所述有效性判斷模塊用于:
當所述第一位置對應的第一時間戳與所述移動終端的當前時間戳的差值小于預設時間閾值時,判斷所述歷史定位結果信息有效。
在上述實施例的基礎上,還包括:
第二時間戳獲取模塊,用于在判斷所述歷史定位結果信息的有效性之前,獲取所述移動終端的當前時間戳;
加速度信息獲取模塊,用于獲取所述第一位置對應的第一時間戳與所述移動終端的當前時間戳的時間區(qū)間內(nèi)所述移動終端的加速度信息;
位移計算模塊,用于根據(jù)所述加速度信息計算所述移動終端在所述時間區(qū)間內(nèi)的位移;
所述有效性判斷模塊用于:
當所述移動終端在所述時間區(qū)間內(nèi)的位移小于預設位移閾值時,判斷所述歷史定位結果信息有效。在上述實施例的基礎上,所述歷史定位結果信息包括第一位置和獲取所述第一位置使用的第一基站信息或第一WIFI熱點信息。
在上述實施例的基礎上,還包括:
基站或WIFI熱點信息獲取模塊,用于在判斷所述歷史定位結果信息的有效性之前,獲取當前與所述移動終端連接的第二基站信息或第二WIFI熱點信息;
所述有效性判斷模塊用于:
當所述第一基站信息或第一WIFI熱點信息與所述第二基站信息或所述第二WIFI熱點信息相同時,判斷所述歷史定位結果信息有效。
在上述實施例的基礎上,還包括:
所述歷史定位結果信息判斷模塊,用于:
當接收到LBS應用通過軟件開發(fā)工具包SDK發(fā)起的定位請求時,判斷預先創(chuàng)建的向各LBS應用開放訪問權限的文件中是否保存有移動終端的歷史定位結果信息;或,當接收到LBS應用通過網(wǎng)絡定位提供者NLP發(fā)起的定位請求時,判斷所述NLP的網(wǎng)絡定位服務中是否保存有移動終端的歷史定位結果信息。
在上述實施例的基礎上,還包括:
定位請求發(fā)起模塊,用于若判斷所述歷史定位結果信息無效或沒有保存有歷史定位結果信息,則向定位服務器發(fā)起定位請求,將所述定位服務器反饋的位置信息作為所述移動終端的當前位置信息并進行保存。
本發(fā)明實施例提供了一種移動終端,該移動終端中可集成本發(fā)明實施例提供的移動終端的位置信息獲取裝置。該移動終端包括存儲器,處理器及存儲在存儲器上并可在處理器運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:當接收到LBS應用發(fā)起的定位請求時,判斷是否保存有移動終端的歷史定位結果信息;若保存有歷史定位結果信息,則判斷所述歷史定位結果信息的有效性;當判斷所述歷史定位結果信息有效時,根據(jù)所述歷史定位結果信息確定所述移動終端的當前位置信息。
圖7為本發(fā)明實施例提供的一種移動終端的結構示意圖。如圖7所示,該移動終端可以包括:殼體(圖中未示出)、存儲器701、中央處理器(Central Processing Unit,CPU)702(又稱處理器,以下簡稱CPU)、電路板(圖中未示出)和電源電路(圖中未示出)。所述電路板安置在所述殼體圍成的空間內(nèi)部;所述CPU702和所述存儲器701設置在所述電路板上;所述電源電路,用于為所述移動終端的各個電路或器件供電;所述存儲器701,用于存儲可執(zhí)行程序代碼;所述CPU702通過讀取所述存儲器701中存儲的可執(zhí)行程序代碼來運行與所述可執(zhí)行程序代碼對應的程序。所述移動終端還包括:外設接口703、RF(Radio Frequency,射頻)電路705、音頻電路706、揚聲器711、電源管理芯片708、輸入/輸出(I/O)子系統(tǒng)705、觸摸屏712、其他輸入/控制設備710以及外部端口704,這些部件通過一個或多個通信總線或信號線707來通信。
應該理解的是,圖示移動終端700僅僅是移動終端的一個范例,并且移動終端700可以具有比圖中所示出的更多的或者更少的部件,可以組合兩個或更多的部件,或者可以具有不同的部件配置。圖中所示出的各種部件可以在包括一個或多個信號處理和/或專用集成電路在內(nèi)的硬件、軟件、或硬件和軟件的組合中實現(xiàn)。
下面就本實施例提供的用于獲取移動終端的位置信息的移動終端進行詳細的描述,該移動終端以手機為例。
存儲器701,所述存儲器701可以被CPU702、外設接口703等訪問,所述存儲器701可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如一個或多個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。存儲器701可以包括EMMC等內(nèi)置存儲卡。
外設接口703,所述外設接口703可以將設備的輸入和輸出外設連接到CPU702和存儲器701。
I/O子系統(tǒng)709,所述I/O子系統(tǒng)709可以將設備上的輸入輸出外設,例如觸摸屏712和其他輸入/控制設備710,連接到外設接口703。I/O子系統(tǒng)709可以包括顯示控制器7091和用于控制其他輸入/控制設備710的一個或多個輸入控制器7092。其中,一個或多個輸入控制器7092從其他輸入/控制設備710接收電信號或者向其他輸入/控制設備710發(fā)送電信號,其他輸入/控制設備710可以包括物理按鈕(按壓按鈕、搖臂按鈕等)、撥號盤、滑動開關、操縱桿、點擊滾輪。值得說明的是,輸入控制器7092可以與以下任一個連接:鍵盤、紅外端口、USB接口以及諸如鼠標的指示設備。
觸摸屏712,所述觸摸屏712是用戶終端與用戶之間的輸入接口和輸出接口,將可視輸出顯示給用戶,可視輸出可以包括圖形、文本、圖標、視頻等。
I/O子系統(tǒng)709中的顯示控制器7091從觸摸屏712接收電信號或者向觸摸屏712發(fā)送電信號。觸摸屏712檢測觸摸屏上的接觸,顯示控制器7091將檢測到的接觸轉換為與顯示在觸摸屏712上的用戶界面對象的交互,即實現(xiàn)人機交互,顯示在觸摸屏712上的用戶界面對象可以是運行游戲的圖標、聯(lián)網(wǎng)到相應網(wǎng)絡的圖標等。值得說明的是,設備還可以包括光鼠,光鼠是不顯示可視輸出的觸摸敏感表面,或者是由觸摸屏形成的觸摸敏感表面的延伸。
RF電路705,主要用于建立手機與無線網(wǎng)絡(即網(wǎng)絡側)的通信,實現(xiàn)手機與無線網(wǎng)絡的數(shù)據(jù)接收和發(fā)送。例如收發(fā)短信息、電子郵件等。具體地,RF電路705接收并發(fā)送RF信號,RF信號也稱為電磁信號,RF電路705將電信號轉換為電磁信號或將電磁信號轉換為電信號,并且通過該電磁信號與通信網(wǎng)絡以及其他設備進行通信。RF電路705可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統(tǒng)、RF收發(fā)機、一個或多個放大器、調諧器、一個或多個振蕩器、數(shù)字信號處理器、CODEC(COder-DECoder,編譯碼器)芯片組、用戶標識模塊(Subscriber Identity Module,SIM)等等。
音頻電路706,主要用于從外設接口703接收音頻數(shù)據(jù),將該音頻數(shù)據(jù)轉換為電信號,并且將該電信號發(fā)送給揚聲器711。
揚聲器711,用于將手機通過RF電路705從無線網(wǎng)絡接收的語音信號,還原為聲音并向用戶播放該聲音。
電源管理芯片708,用于為CPU702、I/O子系統(tǒng)及外設接口所連接的硬件進行供電及電源管理。
上述實施例中提供的移動終端的位置信息獲取裝置及移動終端可執(zhí)行本發(fā)明任意實施例所提供的移動終端的位置信息獲取方法,具備執(zhí)行該方法相應的功能模塊和有益效果。未在上述實施例中詳盡描述的技術細節(jié),可參見本發(fā)明任意實施例所提供的移動終端的位置信息獲取方法。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。