如何解决重启手机后,getLastLocation返回null
我制作了应用和小部件。
我想使用FusedLocationProviderClient方法从小部件获取位置。
问题在于,电话重启或GPS关闭->开时,getLastLocation始终返回null。
但是一旦运行该应用程序,就可以从小部件中找到成功的位置。
此应用被排除在睡眠模式之外。
我们该怎么办?
requestLocationUpdates没有呼叫
private FusedLocationProviderClient mFusedLocationClient;
mFusedLocationClient.requestLocationUpdates(mLocReq,mLocationCallback,null);
getLastLocation始终为空,并且使用Google API获取我的位置失败
if(mGoogleApiClient != null) {
mGoogleApiClient.disconnect();
}
mFusedLocationClient.getLastLocation().addOnSuccessListener(location -> {
if (location != null) {
} else {
if(mGoogleApiClient == null) {
// Always NULL
GPSLocation gpsLocation = new GPSLocation(mContext);
gpsLocation.init();
mGoogleApiClient = new GoogleApiClient.Builder(mContext)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(@Nullable Bundle bundle) {
Location loc = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
if(loc == null) {
// Always NULL
} else {
}
}
@Override
public void onConnectionSuspended(int i) {
}
})
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
locationInterface.onLastLocationFail("location Object is null");
}
})
.addApi(LocationServices.API)
.build();
}
mGoogleApiClient.connect();
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。