@systemic-games/react-native-bluetooth-le
Version:
React Native package adding support for Bluetooth LE.
29 lines (28 loc) • 1.13 kB
JavaScript
;
import { Platform, PermissionsAndroid } from "react-native";
export async function requestPermissions() {
let granted = false;
// Ask for permissions on Android
if (Platform.OS === "android") {
const bleScan = PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN;
if (Platform.Version <= 30 || !bleScan) {
// For SDK 30 and below
const fineLocation = PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION;
if (fineLocation) {
const status = await PermissionsAndroid.request(fineLocation);
granted = status === PermissionsAndroid.RESULTS.GRANTED;
}
} else {
// For SDK 31 and above
const bleConnect = PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT;
if (bleScan && bleConnect) {
const status = await PermissionsAndroid.requestMultiple([bleScan, bleConnect]);
granted = status[bleScan] === PermissionsAndroid.RESULTS.GRANTED && status[bleConnect] === PermissionsAndroid.RESULTS.GRANTED;
}
}
} else if (Platform.OS === "ios") {
granted = true;
}
return granted;
}
//# sourceMappingURL=requestPermissions.js.map