0

我有一個由FusedLocationApi每分鐘調用一次的Intent服務,通過pending定期監視位置。FusedLocation Pending Intent有時會在沒有位置的情況下調用

@Override 
protected void onHandleIntent(Intent intent) { 
     if (intent != null && LocationResult.hasResult(intent)) { 

      LocationResult locationResult = LocationResult.extractResult(intent); 
      location = locationResult.getLastLocation(); 

     } else { 
      Crashlytics.logException(new LocationException("Loc Intent Service invoked without location", new NullPointerException())); 
     } 
} 

它工作正常的大部分時間,但在生產中,在過去的7天,我已經收到了服務13000個事件由FusedLocationApi被調用沒有任何位置。 (感謝我添加的Crashlytics非致命異常)

爲什麼或什麼時候會發生這種情況?我已嘗試禁用位置權限,而位置正在受到監視,在這種情況下,服務而不是位置調用,但只是調用一次或兩次,之後再次調用位置權限之前再也不調用位置權限。

+0

在任何情況下,您都不能保證收到一個位置,您總是需要檢查該位置是否爲空。 – tyczj

回答

相關問題