我正在尝试找到一种解决方案,以便在不使用GPS的情况下检测我的Android应用用户位置。
我以两种不同的方式获取用户位置,第一种是使用android LocationManager 用于某些设备,例如Samsung S2和Samsung Note 4,以下指令返回false:
isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
此外,我尝试使用Google-play-services获取该位置,对于那些设备,永远不会调用 onLocationChanged 。
有没有办法在不启用GPS的情况下确定位置? Foursquare如何做到这一点?它永远不会要求用户打开/启用GPS?
谢谢,
答案 0 :(得分:0)
android中的融合位置提供程序,管理底层定位技术,并根据您的需求和可用传感器为您提供最佳位置(如果gps被禁用则使用其他传感器)
您可以尝试使用LastLocation而不是onLocationChanged,
...
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
if (mLastLocation != null) {
mLatitudeText.setText(String.valueOf(mLastLocation.getLatitude()));
mLongitudeText.setText(String.valueOf(mLastLocation.getLongitude()));
}
}