我的目标是找到附近的蓝牙设备(LE设备和“经典”设备),以便将当前可见附近设备与我的应用程序的某些功能关联起来。(不是特定的设备/设备,而是所有设备!)
我知道:
我不确定的是:假设当前设备API级别为18+,
我想知道的是:如果确实
startLeScan()
仅回调BLE设备;这两种方法的工作方式不同-当startBLeScan()由我的代码与回调管理时,classic扫描由系统进程管理,并通过广播返回找到的BluetoothDevice
。我不确定的是:假设当前设备API级别为18+,
startScan()
将始终查找可发现的BLE和classic设备;BluetoothDevice.connectGatt()
是通过新的BLE API添加的,但也应该适用于经典蓝牙(返回GATT服务...)。我想知道的是:如果确实
startScan()
返回两种类型(Classic和BLE),在电池消耗、性能优化、良好实践和其他方面上哪个更好?我的应用程序将定期执行后台扫描,因此我希望尽可能地减少对电池的影响。