rn-ble-scan
v1.0.1
Published
This project will give you information about available bluetooth devices.
Downloads
2
Readme
React Native Library for scan Bluetooth using BLE
This project will give you information about available bluetooth devices.
Getting started
Installing it as a library in your main project
npm i rn-ble-scan
or
yarn add rn-ble-scan
Add permissions for android in AndroidManifest.xml:
```xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:required="true" android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:required="true" android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
```
Simply
import
it by the name defined in your library'spackage.json
:import ScanBLE from 'rn-ble-scan';
Example:
import React, { useEffect, useState } from 'react'; import { View, Text, StyleSheet, Button, NativeModules } from 'react-native'; import ScanBLE from 'rn-ble-scan'; const App = () => { const [uid, setUid] = useState(null); const persmission = async () => { try { // permission to access location to set wifi connection const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION) .then(res => { if (res === "granted") { console.log("Permission granted!"); } else { console.log("Please provide location permission to scan BT devices"); } }); } catch (err) { console.warn(err) } } useEffect(() => { permission(); UUIDGenerator.getRandomUUID((newUid) => { setUid(newUid); }); }, [setUid, UUIDGenerator,permission]) <!-- start scanning devices --> const startScanning = async () => { console.log("StartScanning -> uid", uid) await samplecall.advertise(uid); await samplecall.discover(uid, (value) => { console.log("Device", value) }); } return ( <View> <Text>UUID: {uid}</Text> <Button title="Scan Bluetooth" onPress={startScanning}/> </View> ) }; const styles = StyleSheet.create({ screen: { flex: 1, justifyContent: 'center', alignItems: 'center' } }); export default App;