Skip to content

Instantly share code, notes, and snippets.

@Naveen-spritle
Created May 27, 2023 03:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Naveen-spritle/7f3e6e191833690c93e64cfbf88413b8 to your computer and use it in GitHub Desktop.
Save Naveen-spritle/7f3e6e191833690c93e64cfbf88413b8 to your computer and use it in GitHub Desktop.
I defined Custom Hook for Bluetooth adapted state because of we can only perform all Bluetooth operations, If Bluetooth adapter is "PoweredOn". So before perform the operation we should check the adapter state. That's why I defined the custom hook. whenever we needed we use it.
import { useState, useEffect } from "react";
import { BleManager } from "react-native-ble-plx";
const _BleManager = new BleManager();
const useBluetoothListener = () => {
const [isBluetoothOn, setIsBluetoothOn] = useState(false);
useEffect(() => {
const bleSubscription = _BleManager.onStateChange((state) => {
if (state == "PoweredOn") {
setIsBluetoothOn(true);
} else if (state == "PoweredOff") return setIsBluetoothOn(false);
else if (state == "Resetting") return null;
else console.log("bluetooth listener error",state);
}, true);
return ()=> {
bleSubscription.remove();
}
}, []);
return isBluetoothOn;
};
export default useBluetoothListener;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment