Я хочу получить текущую широту и долготу устройства, даже если он не находится в движении.Android не может получить текущее местоположение с помощью GPS, когда устройство не движется
Пробовал и requestLocationUpdates()
, и requestSingleUpdate()
, но мое местоположение по-прежнему не имеет значения. LocationManager.onLocationChanged()
, похоже, вызывается только при изменении местоположения. Я хочу опубликовать данные этого местоположения, но не каждый раз с NullPointerException
.
Вот мои примеры кода:
активность:
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, myLocationListener);
if (location == null) {
try {
locationManager.requestSingleUpdate(LocationManager.GPS_PROVIDER, myLocationListener, Looper.myLooper());
} catch (SecurityException e) {
}
}
//MyLocationListener
public void onLocationChanged(Location location) {
activity.setLocation(location);
}
}
}
Manifest:
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
попробовать с другим телефоном – lawonga
Вы используете устройство в помещении? GPS занимает много времени, чтобы зафиксировать местоположение в помещении. – basilisk
Да Я использую в помещении – unfitgeek