Skip to content

plt-software/react-native-connectivity-status

 
 

Repository files navigation

React-native-connectivity-status

A React Native module to check Location status on Android and iOS

license Build Status npm

React Native platforms

Gitter

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

About

A ReactNative module to check Bluetooth and Location status on Android and iOS

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 46.0%
  • Objective-C 41.7%
  • Ruby 6.8%
  • JavaScript 5.5%