Skip to content

Instantly share code, notes, and snippets.

import {PermissionsAndroid, Platform} from "react-native"
import BleManager from "react-native-ble-manager"
const requestBlePermissions = async (): Promise<boolean> => {
if (Platform.OS === "android" && Platform.Version < 23) {
return true
}
try {
const status = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_ADVERTISE,
])
return (
status[PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT] == "granted" &&
status[PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN] == "granted" &&
status[PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION] == "granted"
)
} catch (e) {
console.error("Location Permssions Denied ", e)
return false
}
}
// effects
useEffect(() => {
const initBle = async () => {
await requestBlePermissions()
BleManager.enableBluetooth()
}
initBle()
}, [])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment