【问题标题】:Android 10 BLE connection issueAndroid 10 BLE 连接问题
【发布时间】:2020-02-06 12:24:54
【问题描述】:

我正在开发一个使用 BluetoothGatt 连接到 BLE 设备的应用程序。

我能够成功扫描和连接三星、Pixel 等所有设备中的 BLE 设备。我按照Android official BLE connection 指南进行扫描和连接。

但是在将我的Pixel 2 更新为Android 10 后,我无法将我的 BLE 设备连接到 Pixel 2。我还看到Google issue tracker 中报告了同样的问题。

为了解决这个问题,我尝试清除蓝牙应用缓存和网络重置,但它适用于某些设备但不是全部。

是否需要采取任何措施来解决此问题,或者是否有适当的方法以编程方式清除蓝牙应用缓存和网络重置。

或者任何其他方式来管理 Android 中的 BLE 连接?

【问题讨论】:

  • 是扫描还是连接不行?任何错误/状态代码? Logcat 消息?
  • 连接不工作。我不会因为这发生在客户的设备上而获取 logcat。
  • 我也有同样的问题,但只有在同一家公司的两台设备配对时才会出现,我无法连接到其中任何一台。取消配对后第二个连接正常。
  • 你在使用绑定吗?设备是公开广播还是私下广播?
  • 我也有同样的问题。我正在使用 BleScanner,但它没有检测到广告。如果我使用 28 构建应用程序,它甚至可以在 Android 10 上运行,但如果我使用 29 构建它则不起作用。完全相同的代码。

标签: android bluetooth bluetooth-lowenergy android-10.0 bluetooth-gatt


【解决方案1】:

在 Android 10 (API 29) 上,权限发生了变化,如果它是您的编译目标,现在需要 ACCESS_FINE_LOCATION 进行 BLE 扫描。

但是,如果您已针对 API 28 进行编译,并且具有 ACCESS_COARSE_LOCATION,它应该可以继续在 Android 10 上运行。

来源: https://developer.android.com/about/versions/10/privacy/changes#location-telephony-bluetooth-wifi

请参阅以下内容,因为此问题可能重复: Android 10 not working with BLE Bluetooth scanning

【讨论】:

猜你喜欢
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
  • 2020-07-20
  • 2016-04-18
  • 1970-01-01
  • 2020-12-29
  • 1970-01-01
  • 2014-04-08
相关资源
最近更新 更多