使用Android中的位置服务通过Google Location Client API访问用户当前位置。在移动设备中,GPS仅启用,但在编码时显示GPS已在Samsung Galaxy S5
中禁用。在印度我检查很多手机都在这里工作正常。澳大利亚Samsung Galaxy S5
手机。在Country Wise中访问GPS是否有任何限制。 Google map , Uber App
一切正常。我给那个澳大利亚人检查了 Debug.apk 。任何人都知道帮助我解决问题。
这是我的代码: -
要检查GPS是否启用: -
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
toast("GPS Not Eabled")
}
获取用户位置
GoogleApiClient mGoogleApiClient;
LocationRequest locationRequest;
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
mGoogleApiClient.connect();
locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
@Override
public void onConnected(@Nullable Bundle bundle) {
location_get();
}
@Override
public void onConnectionSuspended(int i) {
mGoogleApiClient.connect();
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
public void location_get() {
mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
if (mCurrentLocation != null) {
current_latitude = mCurrentLocation.getLatitude();
current_longitude = mCurrentLocation.getLongitude();
}
}
答案 0 :(得分:1)
GetLastLocation仅在您已获得该位置并缓存它时才有效。您需要请求位置更新才能启动位置子系统。请注意,如果使用GPS,这可能需要几秒到几分钟,如果您无法获得信号,甚至可能永远不会发生。