Android FusedLocation挂起意图有时在没有位置的情况下调用

Android FusedLocation挂起意图有时在没有位置的情况下调用,android,fusedlocationproviderapi,android-fusedlocation,Android,Fusedlocationproviderapi,Android Fusedlocation,我有一个Intent服务,FusedLocationApi每分钟调用一次,通过pending定期监视位置 @Override protected void onHandleIntent(Intent intent) { if (intent != null && LocationResult.hasResult(intent)) { LocationResult locationResult = LocationResult.extrac

我有一个Intent服务,FusedLocationApi每分钟调用一次,通过pending定期监视位置

@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天中,我收到了由FusedLocationApi调用的13000个服务事件,没有任何位置。(感谢我添加的Crashlytics非致命异常)

为什么或何时会发生这种情况?我已尝试在监视位置时禁用位置权限,在这种情况下,在没有位置的情况下调用服务,但只调用了一次或两次,之后,在我重新打开位置权限之前,不会再次调用该服务。

根据:

和都被发送到给定的挂起帐篷。可以使用、和从意图中提取数据


在检查第一种情况时,您没有处理(或忽略)位置可用性的更改。

在任何情况下都不能保证您收到位置,您始终需要检查位置是否为空。