- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的目标是找到附近的蓝牙设备(LE 设备和“经典”),以便将当前可见的附近设备与我的应用使用它执行的某些功能相关联。 (不是一个或多个特定设备,而是所有设备!!!)
我所知道的:
startLeScan()
只会在 BLE 设备上回调BluetoothDevice
。 我不确定的是:
startScan()
将始终发现可发现的 BLE 和经典设备。 BluetoothDevice.connectGatt()
添加了新的 BLE API,但也应该适用于经典蓝牙(返回 GATT 服务...)。我想知道的:
startScan()
返回两种类型(Classic 和 BLE),那么在电池消耗、性能、良好做法和其他方面使用什么更好?我的应用程序会定期执行后台扫描,所以我想尽可能减少电池消耗的影响。
最佳答案
您必须开始扫描 Classic Bluetooth带有 startDiscovery() 的设备并扫描 Bluetooth LE带有 startLeScan() 的设备.注意:执行设备发现对于蓝牙适配器来说是一个繁重的过程,并且会消耗大量的资源。
编辑:在装有 Android 4.4.2 的 LG Nexus 4 上 startDiscovery()查找蓝牙 LE 设备。在装有 Android 4.3 的三星 Galaxy S3 上 startDiscovery()找不到蓝牙 LE 设备。
关于android - BluetoothAdapter.startScan() 与 BluetoothAdapter.startLeScan(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809946/
现在我正在研究 BLE。我发现一个问题,它向我显示 startLeScan(): null 的日志并且扫描也不起作用我为此尝试了一切并搜索了 startLeScan(): null 但还没有得到任何解
目标是读取蓝牙 LE 心率监测器的值。 使用谷歌的示例,我得到了 private void scanLeDevice(final boolean enable) { if (enable) {
Bluetooth LE 在 Android 4.3 中引入,因此我正在使用两个 Android 设备,并且我的两个设备都支持 API 版本 4.4。 2 甚至,我已经配对了两个设备,但仍然没有在列表
我正在开发一个使用低功耗蓝牙的安卓应用程序。我使用类 BluetoothAdapter 但现在在 API-21 中类是 BluetoothLeScanner 我的旧代码正在实现接口(interface
我试图在我的 Android 应用程序中多次调用 startLeScan 方法,它第一次扫描 BLE 设备,从第二次开始它无法扫描设备。我在我的应用程序中进行了循环扫描,每 10 秒停止一次扫描并重新
我的目标是找到附近的蓝牙设备(LE 设备和“经典”),以便将当前可见的附近设备与我的应用使用它执行的某些功能相关联。 (不是一个或多个特定设备,而是所有设备!!!) 我所知道的: startLeSca
我想用 startLeScan(UUID[] serviceUuids, LeScanCallback callback) 方法扫描 BLE 设备,现在我有一个 UUID,它是一个 16 位的值,例如
我正在开发一个 BluetoothLE 传感器设备,为此我需要形成一对多的数据广播。根据规范,外围设备可能只有一个主设备,并且由于我正在设计的芯片和堆栈的限制,一个主设备只能有三个从设备。据我了解,A
我正在努力寻找阻塞我的 UI 线程的具体操作,我已经尝试了几个调度程序操作符,但我不确定如何让它工作。 我有一个带按钮的 UI,onClicked 正在启动蓝牙扫描并使用类似日志的字符串更新 text
我在使用 startLeScan( new UUID[]{ MY_DESIRED_128_BIT_SERVICE_UUID }, callback ) 时遇到问题在我的 Nexus 4 上新引入的 A
我看到 stopLeScan() 和 startLeScan() 在 Android 5.1.1 中已弃用。我在替换 stopLeScan() 和 startLeScan() 方法时遇到问题。这是我的
我是一名优秀的程序员,十分优秀!