【问题标题】:Unable to Connect to BLE device in Android 12+无法连接到 Android 12+ 中的 BLE 设备
【发布时间】:2022-12-19 15:58:34
【问题描述】:

我正在尝试使用 connectGatt 方法连接到 Android 12 中的 BLE 设备,但它没有连接。

在 Android 11 以下它工作正常。

  1. 我已经添加了 Android 12 Manifest.permission.BLUETOOTH_SCANManifest.permission.BLUETOOTH_CONNECT 所需的所有权限。
  2. 我已经尝试了所有传输 AUTO、BLE 和 BR/EDR。
  3. 我还允许蓝牙的运行时权限。

    在发现回调中找到所需的设备 MAC 地址。但是,当我尝试连接时,它没有收到任何回调,几秒钟后它向我发送 DISCONNECT BroadcastReceiver。

【问题讨论】:

  • 你能展示你的整个清单文件吗?
  • 您是否添加了 BLUETOOTH_CONNECT 权限? Manifest.permission.BLUETOOTH_CONNECT
  • 是的,我已经编辑了我的问题。
  • 你找到什么理由了吗?似乎有同样的问题。需要多次连接到设备。在上一个 android(10, 8) 版本上运行正常
  • 也许也尝试添加位置权限(ACCESS_COARSE_LOCATION 和 ACCESS_FINE_LOCATION)

标签: android bluetooth-lowenergy


【解决方案1】:

许多信标设备仍然需要位置服务来进行扫描。

这就是为什么位置服务在Android 12中仍然需要,授予位置android.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_COARSE_LOCATION的权限,也允许AndroidManifest中的android.permission.BLUETOOTH_SCAN,并在运行时明确授予这些权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2023-04-03
    • 2016-01-02
    • 1970-01-01
    • 2021-08-07
    • 2016-05-25
    • 1970-01-01
    相关资源
    最近更新 更多