蓝牙4.0防丢器开发中遇到的问题

安卓蓝牙4.0开发过程中遇到了很多兼容性的问题,一下是我遇到的,希望能对大家有所帮助。

1、mBluetoothAdapter.startLeScan(mLeScanCallback);

扫描蓝牙设备,优点是快速,但是部分机型使用过程中会出现扫描不到的问题,例如红米系。

部分红米1s扫描到的device为null,红米note可以扫描到,到时只在第一遍扫描时能扫描到所有设备,以后的扫描会漏掉很多。

2、mBluetoothAdapter.stopLeScan(mLeScanCallback);

我在第一次开启扫描后调用此方法,可以关闭扫描,但是第二次开启扫描后再调用,会出现不能关闭的情况,

我的解决方法是重启整个service。

3、mBluetoothAdapter.startDiscovery();

另一种扫描蓝牙设备的方法,优点是兼容性好,应该所有支持蓝牙4.0的设备都能扫描到,缺点速度慢。

4、mBluetoothGatt = mBluetoothDevice.connectGatt(this, true, mGattCallback);

在多数手机上可以在主线程进行,但是发现部分三星手机不能在主线程调用此方法,建议都在线程中进行。

菜鸟,第一次写,见谅见谅。

你可能感兴趣的:(蓝牙4.0防丢器开发中遇到的问题)