ACCESS_COARSE_LOCATION et ACCESS_FINE_LOCATON ont tous deux été inclus dans le manifeste. Sont également inclus dans l'activité sont les suivants:Absence de précision GPS entraînant un pointeur nul
import android.location.Location;
import android.location.LocationManager;
J'ai un écouteur pour le tiroir de navigation avec la classe suivante
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);
}
}
De là, le location = null
, et serait donc échouer sur location.getLongitude();
. Je peux bien sûr éviter cela avec if (location != null)
, mais je veux les lat
et long
trouvés.
Pourquoi l'emplacement est-il toujours nul?
Souhaitez-vous cibler l'API 23 ou supérieure? Où demandez-vous [demander l'autorisation à l'exécution] (https://developer.android.com/training/permissions/requesting.html)? – ianhanniballake