Я уже читал решения по этому вопросу в других потоках, но, похоже, я не понимаю, почему он возвращает null. Я использовал один и тот же фрагмент кода при условии на сайте разработчиков Google: https://developer.android.com/training/location/retrieve-current.htmlAndroid LocationServices.FusedLocationApi.getLastLocation возвращает «null»
Я использую следующий код в моей деятельности, чтобы получить текущее местоположение пользователя:
public class MainActivity extends Activity implements ConnectionCallbacks, OnConnectionFailedListener {
protected GoogleApiClient mGoogleApiClient;
protected Location mLastLocation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buildGoogleApiClient();
}
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
@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()));
}
}
}
Если «mLastLocation» всегда равно null, как мы можем написать код, чтобы получить текущее местоположение пользователя?
??? Я не понимаю твое решение. это то же самое, что @ user3282666 – delive