Socket
Socket
Sign inDemoInstall

react-native-bluetooth-status

Package Overview
Dependencies
569
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-native-bluetooth-status

React-Native library to query and manage bluetooth state of the device (iOS and Android)


Version published
Weekly downloads
2.5K
increased by11.68%
Maintainers
1
Install size
108 kB
Created
Weekly downloads
 

Readme

Source

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)} />
)
VariableDescription
btStatusCurrent Bluetooth status. Starts undefined, but updated asynchronously right away. Updated automatically if status changes.
isPendingStarts at true and after getting first Bluetooth status, is set to false. Helps to know when btStatus is not undefined anymore.
setBluetoothAndroid 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.

MethodDescription
stateReturns a promise, which will return a boolean value, true if bluetooth is enabled, false if disabled.
addListenerTakes function parameter, which will be run when BT status changes, with the new BT on/off status (true / false).
removeListenerRemoves listener.
enableAndroid only Changes bluetooth state. Takes boolean parameter (defaults to true), true to enable, false to disable.
disableAndroid only Disables bluetooth, same end result as calling enable(false).

Keywords

FAQs

Last updated on 28 May 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc