Never Poke Monkeys

    react-native-connectivity-status

    1.5.2 • Public • Published

    React-native-connectivity-status

    A React Native module to check Bluetooth and 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:
            // ...
    }
     
    // Check if Bluetooth is ON
    const bluetoothIsOn = await ConnectivityManager.isBluetoothEnabled()

    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 }) => {
        switch (eventType) {
            case 'bluetooth':
                        console.log(`Bluetooth is ${status ? 'ON' : 'OFF'}`)
                    break
            case 'location':
                        console.log(`Location Services are ${status ? 'AVAILABLE' : 'NOT available'}`)
                    break
        }
    })
    ...
    // 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 bluetooth and location services have been removed from this module.


    Made with ✨ & ❤️ by Mattia Panzeri and contributors

    Install

    npm i react-native-connectivity-status

    DownloadsWeekly Downloads

    835

    Version

    1.5.2

    License

    MIT

    Unpacked Size

    30.3 kB

    Total Files

    15

    Last publish

    Collaborators

    • beyondsanity
    • federicoboschini
    • near-it
    • stefano.cattaneo