React-Native Library to Query and Manage Bluetooth State

React-Native Library to Query and Manage Bluetooth State

React Native library to monitor and manage bluetooth state. Monitoring the bluetooth state works cross-plaform (iOS & Android). In addition, Android can directly enable / disable bluetooth.

react-native-bluetooth-status

React Native library to monitor and manage bluetooth state. Monitoring the bluetooth state works cross-plaform (iOS & Android). In addition, Android can directly enable / disable bluetooth. V2 introduced new Hooks API!

Installation

$ npm install react-native-bluetooth-status --save

On RN 0.60+ with autolinking run pod install in your ios/ folder.

RN < 0.60

$ react-native link react-native-bluetooth-status

Manual installation on older RN versions

iOS
  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-bluetooth-status and add RNBluetoothManager.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNBluetoothManager.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<
Android
  1. Open up android/app/src/main/java/[...]/MainApplication.java

1.1 Add import com.solinor.bluetoothstatus.RNBluetoothManagerPackage; to the imports at the top of the file

1.2 Add new RNBluetoothManagerPackage() to the list returned by the getPackages() method in that file Note: If you add it to the end of the list it should look something like this:

 @Override
 protected List<ReactPackage> getPackages() {
   return Arrays.<ReactPackage>asList(
       new MainReactPackage(),         // Note the addtional comma needed for the original last item in the list
       new RNBluetoothManagerPackage() // For https://github.com/solinor/react-native-bluetooth-status
   );
 }
  1. Append the following lines to android/settings.gradle:

    include ':react-native-bluetooth-status'
    project(':react-native-bluetooth-status').projectDir = new File(rootProject.projectDir,     '../node_modules/react-native-bluetooth-status/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:

      compile project(':react-native-bluetooth-status')
    

    Usage

Hooks API:

import { useBluetoothStatus } from 'react-native-bluetooth-status';

...

const [btStatus, isPending, setBluetooth] = useBluetoothStatus();
return (
  {!isPending && <Text>{btStatus ? 'On' : 'Off'}</Text>}
  <Button title="Toggle BT" onPress={() => setBluetooth(!btStatus)} />
)
Variable Description
btStatus Current Bluetooth status. Starts undefined, but updated asynchronously right away. Updated automatically if status changes.
isPending Starts at true and after getting first Bluetooth status, is set to false. Helps to know when btStatus is not undefined anymore.
setBluetooth Android Only Enables / disabled bluetooth. Takes boolean parameter (defaults to true) to select the operation.

Imperative API

import { BluetoothStatus } from 'react-native-bluetooth-status';

...

async getBluetoothState() {
  const isEnabled = await BluetoothStatus.state();
}

For further usage examples, see the example project using this library.

Method Description
state Returns a promise, which will return a boolean value, true if bluetooth is enabled, false if disabled.
addListener Takes function parameter, which will be run when BT status changes, with the new BT on/off status (true / false).
removeListener Removes listener.
enable Android only Changes bluetooth state. Takes boolean parameter (defaults to true), true to enable, false to disable.
disable Android only Disables bluetooth, same end result as calling enable(false).

Download Details:

Author: solinor

Source Code: https://github.com/solinor/react-native-bluetooth-status

react-native react mobile-apps

What is Geek Coin

What is GeekCash, Geek Token

Best Visual Studio Code Themes of 2021

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

How native is React Native? | React Native vs Native App Development

Article covers: How native is react native?, React Native vs (Ionic, Cordova), Similarities and difference between React Native and Native App Development.

React Native App Developers India, React Native App Development Company

Hire React Native app developers India from a preferred React Native app development company by innovative industry leaders. Let's Discuss Your Project.

React Native Mobile App Development

Skenix is providing React Native Development Services with qualified React Native App Developers. Get the best React Native App Development Services.

How React Native Is Shaping Mobile App Development

Are you a mobile app developer looking for more efficient tools for your projects? Mobile app development is getting tougher and tougher as the market continues to grow. As a developer, you need to develop Apps which meet the demands of your users. To achieve this, adopt the right tools, like the React Native development framework.

Top React Native Mobile App Development Companies in USA

Looking for top React Native mobile app development company in USA for Startups & Enterprise? Find out the top list of React Native mobile app development company in USA.