簡體   English   中英

Android位置API失敗

[英]Android location API fails

我在本教程中使用的幾乎是Google Play位置API。 但是在某些情況下它似乎失敗了。 讓我解釋:

首先,我們創建一個客戶端並連接到它:

    mLocationClient = new LocationClient(mContext, this, this);
    mLocationClient.connect();

然后,在連接后,我們請求通過未決意圖的位置更新:

@Override
public void onConnected(Bundle arg0) {
    LocationRequest locationRequest = LocationRequest.create().setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY).setInterval(UPDATE_INTERVAL).setFastestInterval(FASTEST_INTERVAL);
    mPendingIntentLocationUpdated = PendingIntent.getService(mContext, 0, (new Intent(mContext, MyService.class)).setAction(MyService.ACTION_LOCATION_UPDATED), 0);
    mLocationClient.requestLocationUpdates(locationRequest, mPendingIntentLocationUpdated);
}

在更新位置1分鍾后,我們通過調用removeLocationUpdates()將其停止。

而且我們非常定期地,每小時幾次調用整個代碼(客戶端連接,請求更新)。

這項功能一開始會工作一段時間,但在某些設備上會在一段時間后失敗:LocationClient已連接並調用了onConnected(),但是由於某種原因,不再觸發未決的Intent!

它似乎僅在Android 4.1.2上失敗。 我尚未在Android 4.2或4.3上看到此問題。

我真的不知道該如何處理該錯誤,歡迎任何幫助或建議!

編輯:僅當禁用WiFi時,它才會失敗。 如果啟用WiFi並已連接,則位置更新將再次起作用。 即使3G已開啟並已連接,定位服務似乎也需要WiFi更新位置...但是,WiFi並非必需!

如果您追求precision_fine的位置,則將使用gps,並且不需要任何網絡間連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM