简体   繁体   English

无法连接到 Android 中的 BLE 设备 12+

[英]Unable to Connect to BLE device in Android 12+

I am trying to connect to BLE device in Android 12 using connectGatt method but It's not connecting.我正在尝试使用connectGatt方法连接到 Android 12 中的 BLE 设备,但它没有连接。

Below Android 11 it is working fine.低于 Android 11 它工作正常。

  1. I have added all the required permissions for Android 12 Manifest.permission.BLUETOOTH_SCAN and Manifest.permission.BLUETOOTH_CONNECT .我已经为 Android 12 Manifest.permission.BLUETOOTH_SCANManifest.permission.BLUETOOTH_CONNECT添加了所有必需的权限。
  2. I have tried all the transports AUTO, BLE and BR/EDR.我已经尝试了所有传输 AUTO、BLE 和 BR/EDR。
  3. I am also allowing runtime permissions for Bluetooth.我还允许蓝牙的运行时权限。

The required device MAC address is found in discover callback.在发现回调中找到所需的设备 MAC 地址。 But, When I try to connect It's not receiving any callback and after few seconds It's sending me DISCONNECT BroadcastReceiver.但是,当我尝试连接时它没有收到任何回调,几秒钟后它向我发送 DISCONNECT BroadcastReceiver。

Many beacon devices still require location service for scanning.许多信标设备仍然需要位置服务来进行扫描。

That's why location service still requires in Android 12, giving permission to location android.permission.ACCESS_FINE_LOCATION and android.permission.ACCESS_COARSE_LOCATION also allows android.permission.BLUETOOTH_SCAN in AndroidManifest, and explicitly grant these permissions at runtime.这就是为什么位置服务仍然需要在 Android 12 中,授予位置android.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_COARSE_LOCATION的权限,也允许android.permission.BLUETOOTH_SCAN在运行时和 AndroidManifest 中显式授予这些权限。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM