ACCESS_COARSE_LOCATION и ACCESS_FINE_LOCATON оба включены в манифест. Кроме того, в деятельности являются:Недостаток точности GPS, вызывающий нулевой указатель
import android.location.Location;
import android.location.LocationManager;
У меня есть прослушиватель нав ящик со следующим классом
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null)
{
final double longitude = location.getLongitude();
final double latitude = location.getLatitude();
}
selectItem(position);
}
}
этого, location = null
, и, таким образом, потерпит неудачу на location.getLongitude();
. Я могу, конечно, избегать этого с if (location != null)
, но я хочу найти lat
и long
.
Почему местоположение всегда равно нулю?
Вы ориентируетесь на API 23 или выше? Где вы [запрашиваете разрешение во время выполнения] (https://developer.android.com/training/permissions/requesting.html)? – ianhanniballake