因此,我遇到了一个问题,我得到一个应用程序崩溃的手机(像素6 Android 13),但不是Android 11手机运行BLEManager.scan
时.
以下是正在使用的权限:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION " />
<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
在应用程序中运行
PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
)
猜测这是Android版本的问题,但不确定,因为这没有在文档中指定。
- 答案:**
我需要在Android 12发布后的运行时请求这些权限。我遇到了问题,因为我的react-native/@types/react-native版本过时,不包含BLUETOOTH_SCAN
和BLUETOOTH_CONNECT
权限。我将版本升级到react-native@0.67
以上,然后才能在运行时请求这些权限。
import { PermissionsAndroid } from "react-native"
await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.BLUETOOTH_SCAN,
PermissionsAndroid.PERMISSIONS.BLUETOOTH_CONNECT,
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
])
以前我只是要求
PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
)
1条答案
按热度按时间gjmwrych1#
我需要在Android 12发布后的运行时请求这些权限。我遇到了问题,因为我的react-native/@types/react-native版本过时,不包含
BLUETOOTH_SCAN
和BLUETOOTH_CONNECT
权限。我将版本升级到react-native@0.67
以上,然后才能在运行时请求这些权限。以前我只是要求