React-native-connectivity-status
A React Native module to check Location status on Android and iOS
Getting started
Add react-native-connectivity-status
module to your project
$ yarn add react-native-connectivity-status
And link it
$ react-native link react-native-connectivity-status
Usage
Check Status
Interactively check Location Services and Bluetooth status
import ConnectivityManager from "react-native-connectivity-status";
// Check if Location Services are enabled
const locationServicesAvailable =
await ConnectivityManager.areLocationServicesEnabled();
// Check Location permission
const locationPermission =
await ConnectivityManager.isLocationPermissionGranted();
switch (locationPermission) {
case "Location.Permission.Denied":
// ...
break;
case "Location.Permission.Granted.Always":
// ...
break;
case "Location.Permission.Granted.WhenInUse":
// ...
break;
default:
// ...
}
Note: On Android, Location permission state will map on Location.Permission.Denied
and Location.Permission.Granted.Always
only.
Subscribe to updates
import ConnectivityManager from 'react-native-connectivity-status'
const connectivityStatusSubscription = ConnectivityManager.addStatusListener(({ eventType, status }) => {
console.log(`Location Services are ${status ? 'AVAILABLE' : 'NOT available'}`)
}
})
...
// Remeber to unsubscribe from connectivity status events
connectivityStatusSubscription.remove()
Enable services
NOTE: Due to possible app rejection from Apple (caused by illegal usage of private URL Scheme "prefs:root" or "App-Prefs:root"), methods for enabling location services have been removed from this module.
Made with ✨ & ❤️ by Mattia Panzeri and contributors