優化Android手機的GPS定位系統,加速搜星,定位準確

雖然是轉載的技術貼,但是也經過本人親測,效果比較滿意。同時我還登陸了http://www.pool.ntp.org/zone/cn網站進行查閱。大家有興趣的話可以用谷歌的網頁翻譯進去看看,都中文,能看懂的。呵呵,同時,我還把自己的筆記本電腦的時間同步也進行了更改。大家可以試試。我將手機的google服務器改成了nokia的,大家有興趣的話,可以試試不同的服務情況,適合大家的話,請頂我。。。覺得好的話,請回復我。。謝謝。。

該帖子於11月15日更新,因爲我發現我的手機GPS定位仍然不是秒定,或者說根本沒什麼感覺來着,大家把第一招更改了之後,接着看第二招如何設置你的AGPS,讓你的定位更加牛P 。。。後面的第二招是關鍵。。。


第一招第一、首先是GPS定位原理:那GPS是用什麼來確定你和衛星的距離的呢? 公式:距離=速度*時間

無線電波的速度是恆定的,那計算時間就可以得到距離了。GPS衛星上載有原子鐘,並不停地發送含有時間信息的代碼。GPS接收器(芯片)就是接收這些代碼,並轉譯出時間信息。然後用本地的時間減去接收到的時間數據,根據無線電波的速度來確定你和衛星的距離。由於電波信號的傳播速度很快,所以GPS的時間信號是精準到納秒級的。這就對接收器的時間精度提出了很高的要求。專業級的系統往往要附帶有原子鐘,至少也需要單獨的時間服務器。一般的導航儀也都帶有連續運行的計時芯片。手機受到體積和使用上的限制,所以不可能擁有獨立的計時系統。所以谷歌就採取了一個取巧的辦法。當系統請求GPS定位時,從網上的時間服務器(NTP)上獲取時間。用這個時間來計算你和衛星的距離。你可以試驗一下,當你的手機連接無線網絡(或者是用USB連接網絡)的時候,GPS定位是非常迅速的。這是因爲,有快速的網絡可以迅速更新NTP的數據。這樣我們就可以來考慮如何改善GPS定位的工作情況了。確保你可用的通信網絡。當你在使用GPS的時候,需要進行同步時間的工作。初次同步後,每1個小時會更新一次數據,如果更新失敗,5分鐘後會再次更新。所以,爲了確保你定位精確,請在使用GPS的時候,確保手機有可用的通信網絡(當然,如果你對精度要求不是很高的話,只要保證初次同步時可用就可以了)。


第二、修改的原理基於上面的介紹分析,可以通過如下的方面來提高定位的精度和速度。
1.手機所在地點的衛星信號(是指手機裸露在空曠室外,衛星信號強度可以用搜星軟件來測試,我在青島,坐車在室外基本能穩定在11顆衛星,10顆能導航的水平,更改gps.conf之後的數據,之前是9顆左右,穩定定位8顆)
2.手機信號
3.手機的定位軟件,本人使用的是google  map  5.12.0,破解版可導航的。
4.gps參數,含在gps.conf文件內由於前3條都是自然條件是不能改變的,所以我們只能通過設置gps.conf參數來提高了

第三、修改gps.conf的前提條件
1.你必須ROOT
2.裝個ROOT管理器例如rootexplorer
3.先備份gps.conf文件(文件在System/etc/文件夾裏),將文件複製到SD卡(不要備份在system文件夾下,否則重啓的時候有可能被自動刪除的)
4.將權限改成可讀寫,找到System/etc/gps.conf 這個文件,然後長按gps.conf這個文件,選擇文本編輯器打開,就可以編輯了

第四、修改gps.conf

我的Gps.conf文件的原文如下:

NTP_SERVER=north-america.pool.ntp.org                              差時同步服務器

XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin        

XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin

XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin

SUPL_HOST=supl.google.com                                                        定位服務器

SUPL_PORT=7276                                                                              端口


我們重點能修改紅色粗體和藍色粗體的兩項信息,最關鍵的差時服務器,有很多更改差時服務器的帖子,現在告訴大家如何選擇最有效的,到下面這個網址:http://www.pool.ntp.org/zone/cn看中國的信息,然後大家可以選擇一個服務器,可以自己ping一下,選擇一個比較適合的服務器把紅色粗體部分替換成我們找到的服務器地址,藍色粗體的部分我個人修改成了NOKIA的定位服務器,因爲Google在國內不是老是不穩定嘛所以我就改成了NOKIA了


讓我們再來看看修改後的文檔:
NTP_SERVER=3.cn.pool.ntp.org

XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin         

XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin

XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin

SUPL_HOST=supl.nokia.com                                          
SUPL_PORT=7276   





第五,說說效果,之前在家裏陽臺搜星幾分鐘才能定位,修改以後基本可以實現秒定
提示:差時同步服務器是實時變動的哦!!所以當你定位不夠迅速的時候就可以自己再改一改了


另外,我上傳我已改好的設置文件,只要放到System/etc/裏就好了。。。(服務器地址可以改成cn.pool.ntp.org,添加1.2.3.在前面是指中 國部分區域的服務器,中 國有很多服務器的,中 國很強大的!萬歲!)


本帖隱藏的內容需要回復纔可以瀏覽



第二招

首先,打開設置-無線和網絡-移動網絡-接入點名稱,找到你當前使用網絡連接,點進去後可以看到,發現最後一行裏顯示的情況,有3個英文字母,反正我的機子是3個。。最後一行的連接類型爲default,沒有supl在裏面。。。這個有問題。。。。如果你的手機能夠改寫,請點擊把它修改成default,supl 其中的逗號切記要英文半角的,菜單-保存並退出,但是我的G11不能。。。大家就必須有第二個步驟

第二步啊。。。在我的手機中中國聯通的設置被鎖住了,不曉得是不是我的rom的問題,我以前記得是可以改的,也就是說第一步不行,下面的第二步我在的我G11中發現AGPS的文件時空的,無法打開,大家可以試試這個方法,不過沒經過我測試哦。。。。大家請頂我
   在\system\etc\目錄下的apns-conf.xml文件(該文件就是apns.conf文件),其中關於中國運營商APN設置的條目裏,大家可以複製出來查看。。。
查看的文件圖片

其中可以清楚看到APN的設置中有type="default,supl"字樣。很多情況下是沒有的。建議搜星慢的機油可以檢查一下這個文件中的設置,是否有"supl",如沒有請添加。一般都是“default”

添加好之後,就OK了。。。。同樣的,必須是英文半角字體哦。。。
發佈了2 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章