我正在使用此代碼獲取位置提供程序和位置。Android位置Wifi重新啓動後無法工作
mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
mBestProvider = mLocationManager.getBestProvider(criteria, false);
mLocation = mLocationManager.getLastKnownLocation(mBestProvider);
如果我關掉GPS,位置處於網絡,但如果我重啓手機(所以我虧稱爲最後的位置),並與3G數據連接關閉。所以我只使用WIFI,因此我無法獲得任何提供商,因此無法訪問任何位置。但谷歌地方的應用程序可以找到我。我認爲它可能會獲得最後的知名位置。但在那種情況下,我的其他應用程序應該能夠獲得該位置。任何想法發生了什麼?
我必須添加設置NETWORK_PROVIDER的情況下,標準的機制沒有返回的條件,當我使用mLocation = mLocationManager.getLastKnownLocation(mBestProvider)我沒有得到任何結果。所以我無法獲得任何立場。我會做你說的測試,因爲我認爲他們可能存儲在偏好的位置上。 – Dayerman
GPS/NETWORK/PASSIVE提供者都不返回任何東西。我曾做過一個試驗:禁用WIFI和地方刪除緩存/應用數據app.When我開的地方重新它說:「Requiere數據連接」我打開WIFI一遍,然後出現位置50米precission。這是否意味着他們正在使用第二個「祕密」API?導致WIFI打開並手動設置NEWTWORK_PROVIDER我什麼也沒有得到。 – Dayerman
@dayerman您是否真的嘗試過在網絡提供商處設置位置監聽器等? getLastLocation可以返回null,但仍將位置更新報告給已註冊的偵聽器,這可能是他們剛剛獲得實際更新。如果你不那麼我認爲這是一個跡象表明其他事情正在發生,但我會先檢查它。 – Idistic