Android FusedLocation挂起意图有时在没有位置的情况下调用
我有一个Intent服务,FusedLocationApi每分钟调用一次,通过pending定期监视位置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
@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非致命异常)
为什么或何时会发生这种情况?我已尝试在监视位置时禁用位置权限,在这种情况下,在没有位置的情况下调用服务,但只调用了一次或两次,之后,在我重新打开位置权限之前,不会再次调用该服务。根据:
和都被发送到给定的挂起帐篷。可以使用、和从意图中提取数据
在检查第一种情况时,您没有处理(或忽略)位置可用性的更改。在任何情况下都不能保证您收到位置,您始终需要检查位置是否为空。