天天看點

Android開發擷取GPS位置,包含apn\wifi\gps 幾種方法

一部分:幾種定位簡述

1.gps定位:

優點:最簡單的手機定位方式當然是通過gps子產品(現在大部分的智能機應該都有了)。gps方式準确度是最高的

缺點1.比較耗電;

       2.絕大部分使用者預設不開啟gps子產品;

       3.從gps子產品啟動到擷取第一次定位資料,可能需要比較長的時間;

       4.室内幾乎無法使用。

這其中,缺點2,3都是比較緻命的。需要指出的是,gps走的是衛星通信的通道,在沒有網絡連接配接的情況下也能用。

有網絡、室内不可用、定位時間長、位置精确

2.基站定位

大緻思路就是采集到手機上的基站id号(cellid)和其它的一些資訊(mnc,mcc,lac等等),然後通過網絡通路一些定位服務,擷取 并傳回對應的經緯度坐标。基站定位的精确度不如gps,好處是能夠在室内用,隻要網絡通暢就行。

有網絡 室内可用 定位方式不精确

3.wifi定位

和基站定位類似,這種方式是通過擷取目前所用的wifi的一些資訊,然後通路網絡上的定位服務以獲得經緯度坐标。因為它和基站定位其實都需要使 用網絡,是以在android也統稱為network方式。

與基站定位類似

4.agps定位

最後需要解釋一點的是agps方式。很多人将它和基站定位混為一談,但其實agps的本質仍然是gps,隻是它會使用基站資訊對擷取gps進行輔助,然後 還能對擷取到的gps結果進行修正,是以agps要比傳統的gps更快,準确度略高。

有網絡、類似gps定位、但比傳統gps定位更快,準确度略高

第二部分:

locationmanager.getlastknownlocation()總是會出現取不到資料的情況,是以這裡沒有使用這個方法,避免 了取不到資料的問題

第三部分:使用異步加載,提高性能

================================代碼===========================

Android開發擷取GPS位置,包含apn\wifi\gps 幾種方法
Android開發擷取GPS位置,包含apn\wifi\gps 幾種方法

1.activity

2.與mainactivity對應的布局

3.androidmanifest.xml

package="com.example.gpsdemo"

    android:versioncode="1"

    android:versionname="1.0" >

    <uses-sdk< li="">

        android:minsdkversion="8"

        android:targetsdkversion="15" />

    <application< li="">

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/apptheme" >

        <activity< li="">

            android:name=".mainactivity"

            android:label="@string/title_activity_main" >

4.工具類兩個:(1)

2.