Android蓝牙扫描过滤器

Android蓝牙扫描过滤器,android,bluetooth-lowenergy,Android,Bluetooth Lowenergy,我喜欢使用设备支持的服务的过滤器扫描蓝牙设备。我读过Android中扫描过滤器的几个问题,我想知道哪种方法更稳定: BluetoothLEScanner.startScan(…) 或者最好使用旧的: BluetoothAdapter.startLEScan() ? 现在使用此方法时已弃用 startScan(List, ScanSettings, ScanCallback) 启动蓝牙设备的扫描 扫描结果使用 onLeScan(BluetoothDevice, int, byte[]) c

我喜欢使用设备支持的服务的过滤器扫描蓝牙设备。我读过Android中扫描过滤器的几个问题,我想知道哪种方法更稳定:

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