React Native GPS State
React Native Listener for GPS status changes
This lib will emitevent wheneaver the GPS status change, like when the permission was rejected or user disable Location service in system Settings.
Instalation
- Add library to project
yarn add react-native-gps-state
- OR
npm install --save react-native-gps-state
- Link library to project
react-native link react-native-gps-state
Usage
Constants
IOS/Android | 0 | NOT_DETERMINED | The user has not yet made a choice regarding whether this app can use location services. |
IOS/Android | 1 | RESTRICTED | This app is not authorized to use location services. |
IOS/Android | 2 | DENIED | The user explicitly denied the use of location services for this app or location services are currently disabled in Settings. |
IOS/Android | 3 | AUTHORIZED | This app is authorized to use location services. |
IOS | 3 | AUTHORIZED_ALWAYS | This app is authorized to start location services at any time. |
IOS | 4 | AUTHORIZED_WHENINUSE | This app is authorized to start most location services while running in the foreground |
Methods
GPSState.openSettings();
GPSState.getStatus().then((status)=>{
});
Listeners
import GPSState from 'react-native-gps-state';
...
componentWillMount(){
GPSState.addListener((status)=>{
switch(status){
case GPSState.NOT_DETERMINED:
alert('Please, allow the location, for us to do amazing things for you!');
break;
case GPSState.RESTRICTED:
GPSState.openSettings();
break;
case GPSState.DENIED:
alert('It`s a shame that you do not allowed us to use location :(');
break;
case GPSState.AUTHORIZED_ALWAYS:
break;
case GPSState.AUTHORIZED_WHENINUSE:
break;
}
});
}
componentWillUnmount(){
GPSState.removeListener();
}