显然Android 5.0和更高版本已经搞乱了蓝牙LE的使用,我需要为它创建解决方法。
我注意到,连接到发现设备的时间很长。
但是,如果蓝牙服务关闭然后打开,它通常会更快地连接。Android蓝牙在关闭时关闭
我正在使用的应用程序需要在Android 4.3及更高版本上运行。
通常我只是推出BluetoothGatt.connect(),一切都很好。
但是在Android 5.0及更高版本中,Connect()会启动,但在最终确定操作之前会保持很长时间。
考虑到这一点,我把一个Handler()。postDelayed()例程与10秒超时,以查看'看'如果连接已成功完成。
如果连接尚未完成我想以编程方式完全关闭手机的蓝牙服务,然后再次打开它。
但是,当我试图执行BluetoothAdapter.disable()该应用程序崩溃。
我只能猜测这是因为BluetoothGatt.connect()活动仍在尝试在后台完成(通过BluetoothLEService)。
我可以手动关闭手机的蓝牙服务,无论其“条件”,它的工作原理。
所以,我怎么能编程关闭手机的蓝牙服务,而一个连接()尝试仍试图执行 - 基本上关闭即时
您的建议/建议将不胜感激。
谢谢