到目前为止,我已经使用了Google Play服务,这个版本我不能说是2015年5月大约6个月。我在我的应用程序类中以下列方式使用它。
@Override
public void onCreate() {
super.onCreate();
if ( isGooglePlayServicesAvailable() ) {
mGoogleApiClient = buildGoogleApiClient();
mGoogleApiClient.connect();
}
}
protected synchronized GoogleApiClient buildGoogleApiClient() {
return new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
我已经访问了这样的位置
return LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
这很有用。如果设备未启用GPS,则返回的位置精确到不到100米。这对我的目的来说足够好了。
几天前,我已将Google Play服务库升级到第24版,结果是
LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient)
现在始终返回null,从而破坏了我的应用程序。
如何解决此问题?
我不想强迫用户打开GPS,因为GPS最多可能需要10分钟来修复。此外,我的应用程序应该在建筑物内部工作,因此WiFi和基于蜂窝塔的位置更好。但这已经停止了工作。
我会恢复到旧版本吗?哪个是最后一个工作版本?
是否有一些无证(如大多数机器人)突破性变化,是否有一个解决方法,我们必须凭空消失?