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!
$ npm install react-native-bluetooth-status --save
On RN 0.60+ with autolinking run pod install
in your ios/
folder.
$ react-native link react-native-bluetooth-status
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. |
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) . |