【问题标题】:Android Bluetooth scan devices since Marshmallow no resultsAndroid 蓝牙扫描设备自 Marshmallow 以来没有结果
【发布时间】:2017-06-23 09:02:52
【问题描述】:

我正在尝试按照开发人员指南Marshmallow changes 中的描述为扫描设备执行新的实现(经典发现在 Android 6.0 及更高版本中不再起作用):

我也按照other thred中的描述做了

还有this one

我的问题是来自ScanCallbackonScanResult 永远无法到达

【问题讨论】:

  • -1 为什么?几天以来,我一直在处理这个问题,我引用了其他帖子和 android 开发人员官方指南的参考资料。没有现有的蓝牙 LE(不是旧 2.0)的完整代码实现供参考,只有 sn-ps...

标签: android bluetooth bluetooth-lowenergy android-6.0-marshmallow


【解决方案1】:
  1. 蓝牙适配器可能已启用。
  2. 可以授予蓝牙使用权限(无论是否在运行时)。
  3. 可以授予位置权限(ACCESS_COARSE 或 ACCESS_FINE),以便能够检索扫描结果。
  4. 确保已启用 gps 提供程序(智能手机 GPS 设置)。

【讨论】:

  • 关于#4 我读到你必须在手机的设置中启用“位置”(GPS),并在运行时在应用程序中请求位置权限,你也是吗? issuetracker.google.com/issues/37065090
  • 是的,两者都需要。
  • 非常感谢,我已经调用了scanResult回调,我可以列出一些设备,但是没有我想要的设备,就像其他手机一样,我怎么能发现丢失的蓝牙设备?
  • 如果您正在扫描特定的 UUID,请确保您的设备使用正确的 UUID 进行广告宣传。如果你用谷歌搜索,你可以找到一些文档。
  • 好的,我明白了。虽然我认为我可以找到相同的设备,就像我去设置 - >蓝牙 - >用我的手机扫描一样。事实上,使用旧设备 prelollypop 我可以发现我等待获得的设备(使用旧的发现方法)。我想以相同的方式执行以发现相同的设备,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
相关资源
最近更新 更多