gpt4 book ai didi

Android 4.3 不显示低功耗蓝牙广告

转载 作者:太空狗 更新时间:2023-10-29 13:28:11 25 4
gpt4 key购买 nike

我正在试验一个只发送广告的低功耗蓝牙设备(类似于 iBeacon)。在我的 Linux 机器上,“hcitool lescan”检测到被广告的设备并显示“缩短的名称”,因此无线接口(interface)似乎工作正常。

不幸的是,在我配备最新库存 ROM (Android 4.3) 的 Nexus 4 手机上,我尝试了 4 种不同的蓝牙 LE 扫描仪应用程序,但没有一个显示设备的广告。但是,当设备处于 Activity 状态时,“adb logcat”显示正在处理大量 btu_ble_process_adv_pkt [1] 事件,一旦设备断电,这些事件就会停止。很明显,BTLE 堆栈似乎接收了我的广告,但它们没有到达应用程序。

谁能建议广告必须包含哪些字段才能由 Android 正确处理?

[1] https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/jb-mr1.1-dev/stack/btu/btu_hcif.c#2198

最佳答案

我设法自己弄明白了:如果你有一个 BTLE 设备,它发送广告并且不接受任何连接,那么你必须确保发送的 PDU 类型非常正确消息的第一个字节是 0x02 (ADV_NONCONN_IND)。否则,Android 显然会尝试打开连接以查询 GATT 属性,这当然会失败。 AFAICT,iOS 在这里更宽容。

关于Android 4.3 不显示低功耗蓝牙广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19357497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com