本人对 Android 及 iOS 不熟,由于项目需要,一个设备通过蓝牙扫描周围的手机,有点类似于 Wi-Fi 探针的功能。
我发现 iOS 系统后台会对外进行 BLE 广播,而 Android 生态下手机厂商太多,尽管 Android 号称支持 BLE 以及 iBeacon,但貌似不是每款手机都能被扫描到。
我的问题很简单: Android 系统本身是否存在个 BLE 广播的后台,还是需要开发 APP 自己进行广播?
1
rebounce 2020-10-07 16:13:06 +08:00 via iPhone
Android8.0 后,息屏不能。
|
2
azh7138m 2020-10-07 17:03:15 +08:00
没有发现 iOS 会在后台做广播
而且 iOS 也不允许应用在后台做 iBeacon 广播 你能搜到只是因为 iOS 的蓝牙没有关,设置里面关掉就搜不到了 回到问题本身 需要自己开发 |
3
janus77 2020-10-08 00:50:40 +08:00
蓝牙探针是吧?刚好前几天看了篇文章,还有源码 你可以研究下
www.infoq.cn/article/HRK0oRWhdyV5vU30gWlW |
5
LLaMA2 2020-10-15 15:39:22 +08:00
BLE 分为 Peripheral 和 Central 模式
对应起来有点类似 Peripheral(Server) 和 Central ( Client ) 大于 4.4 的设备可以开启 Peripheral 外围模式 你需要打开手机的 BlueTooth 并给予 ACCESS_COARSE_LOCATION 和 ACCESS_FINE_LOCATION 权限 否则 Central 中心模式的设备无法扫描到你 Peripheral 开启前你需要准备好 BLE 的 BluetoothGattService,和该 service 下的 BluetoothGattCharacteristic,以及 characteristic 下的 BluetoothGattDescriptor 其次 BluetoothGattCharacteristic 分为可读 可写,BluetoothGattDescriptor 分为可读可写可通知可指示 至于 Central 模式,网络上的 Demo 很多 |