Android蓝牙扫描过滤器
我喜欢使用设备支持的服务的过滤器扫描蓝牙设备。我读过Android中扫描过滤器的几个问题,我想知道哪种方法更稳定:Android蓝牙扫描过滤器,android,bluetooth-lowenergy,Android,Bluetooth Lowenergy,我喜欢使用设备支持的服务的过滤器扫描蓝牙设备。我读过Android中扫描过滤器的几个问题,我想知道哪种方法更稳定: BluetoothLEScanner.startScan(…) 或者最好使用旧的: BluetoothAdapter.startLEScan() ? 现在使用此方法时已弃用 startScan(List, ScanSettings, ScanCallback) 启动蓝牙设备的扫描 扫描结果使用 onLeScan(BluetoothDevice, int, byte[]) c
BluetoothLEScanner.startScan(…)
或者最好使用旧的:
BluetoothAdapter.startLEScan()
?
现在使用此方法时已弃用
startScan(List, ScanSettings, ScanCallback)
启动蓝牙设备的扫描
扫描结果使用
onLeScan(BluetoothDevice, int, byte[]) callback method
需要蓝牙管理员、访问粗略位置或访问精细位置权限
现在使用此方法时已弃用
startScan(List, ScanSettings, ScanCallback)
启动蓝牙设备的扫描
扫描结果使用
onLeScan(BluetoothDevice, int, byte[]) callback method
需要蓝牙管理员、访问粗略位置或访问精细位置权限。
BluetoothAdapter。StartedScan
已被弃用,我仅建议您在支持早于5.0的Android版本时使用它。(从4.4到5.0)。从Android 5.0开始,BluetoothLEScanne.startScan()实现了BluetoothLEScanne.startScan()
,所有BLE库都得到了改进,更加稳定
现在为BLE设备开发了数十个应用程序(大多数都是针对同时使用iBeacon和Eddystone协议的信标设备),我使用最新的
startScan
方法,我总是试图说服我的客户,开始支持安卓5.0及以上版本的设备很重要。更容易、更快地实现,而且更稳定。到目前为止,它们已经成为全球范围内的热门设备。BluetoothAdapter.StarteScan
已被弃用,我只建议您在支持早于5.0的Android版本时使用它。(从4.4到5.0)。从Android 5.0开始,BluetoothLEScanne.startScan()实现了BluetoothLEScanne.startScan()
,所有BLE库都得到了改进,更加稳定
现在为BLE设备开发了数十个应用程序(大多数都是针对同时使用iBeacon和Eddystone协议的信标设备),我使用最新的
startScan
方法,我总是试图说服我的客户,开始支持安卓5.0及以上版本的设备很重要。更容易、更快地实现,而且更稳定。到目前为止,它们已经成为全球范围内的热门设备。BluetoothAdapter.starteScan()
在其内部使用了BluetoothLEScanner.startScan(…)
(在Android版本中,BluetoothAdapter.starteScan()被弃用)。所以没有太大区别,这些问题中的大多数是“特征”@VladyslavMatviienko,这不是真的<代码>蓝牙扫描程序在API 21中实现。您可以从API 19中找到startedscan()
BluetoothLEScanner
是startescan()
的升级版。检查并更改API级别:。@margabro,好吧,你说这不是真的正确。让我们检查一下源代码:这是一行代码,其中BluetoothAdapter.starteScan()使用BluetoothLEScanner.startScan(…),正如我所说的。在5.0.0中,r1表示您在API 21中,他们实现了BluetoothLEScanner
并将其插入BluetoothAdapter
中,以防将来有人使用它并统一方法。但是,规定应使用BluetoothAdapter.startedscan()
它已被弃用和BluetoothLEScanner
。现在,如果您回到4.4.4_r1版本(使用左边的黄色箭头),即API 19,您将不会在BluetoothAdapter
类中找到BluetoothLeScanner
。BluetoothAdapter.starteScan()
使用BluetoothLeScanner.startScan(…)
(在Android版本中,BluetoothAdapter.starteScan()之后的版本已被弃用)。因此没有太大区别。这些问题中的大多数都是“功能”。@VladyslavMatviienko这不太正确。BluetoothLEScanner
是在API 21中实现的。您可以找到startescan()
来自API 19。BluetoothLEScanner
是StartedScan()
的升级。检查并更改API级别:。@margabro,好的,你说它不是真的正确。让我们检查源代码:这是代码行,BluetoothAdapter.startScan()使用BluetoothLEScanner.startScan(…)正如我所说,在5.0.0中,r1意味着您在API 21中,他们实现了BluetoothLEScanner
,并将其插入BluetoothAdapter
中,以防将来有人使用它并统一方法。但是,指定BluetoothAdapter.startescan()
已弃用并且应该使用BluetoothLEScanner
。现在,如果您返回到4.4.4_r1版本(使用左侧的黄色箭头),即API 19,您将无法在BluetoothAdapter
类中找到BluetoothLEScanner
。