sirve - obtener ubicacion gps android studio
Reactivación nativa de Android: watchPosition no reacciona cuando el servicio de ubicación se enciende/apaga (0)
Si el servicio de ubicación se apagó, inicialmente watchPosition
no se llama cuando se lo activó. Como solución, llamo recursivamente a navigator.geolocation.getCurrentPosition
si ocurre un error.
Además, watchPosition
no se llama cuando el servicio de ubicación se desactivó.
En iOS todo funciona como se esperaba.
Cualquier sugerencia será muy apreciada
Probado en Galaxy Note 5 (Android 6.0.1) y diferentes emuladores AVD, react-native v0.33
android.permission.ACCESS_FINE_LOCATION
se incluye en AndroidManifest.xml
initialGeolocation(){
delete this.androidLocation;
navigator.geolocation.getCurrentPosition(
(position) => {
log(''LOCATION getCurrentPosition success'', position);
deviceActions.geolocation(position);
},
(error) => {
log(''LOCATION getCurrentPosition error'', error.message || error);
if (Platform.OS == ''android''){
this.androidLocation = setTimeout(this.initialGeolocation, 500);
}
},
{
enableHighAccuracy: (Platform.OS == ''android'') ? false : true,
timeout: 10000,
maximumAge: 500
}
);
},
componentDidMount() {
this.initialGeolocation();
this.watchID = navigator.geolocation.watchPosition(
(position) => {
log(''LOCATION watchPosition success'', position);
deviceActions.geolocation(position);
},
(error) => {
log(''LOCATION watchPosition error'', error.message || error);
},
{
enableHighAccuracy: (Platform.OS == ''android'') ? false : true,
distanceFilter: 10,
timeout: 10000,
maximumAge: 500
}
);
}