什么了!
在我的最新项目中,我使用BLE设备在手机上以BLE UART模式交换简单数据。我主要知道在Android代码中我需要遵循哪些活动才能启用BLE设备,扫描区域并连接相应的BLE设备(网上有很多例子,包括this官方)。 启用手机上的蓝牙功能后,我可以成功扫描该区域并连接到我想要的BLE设备。 但是,当我需要使用此代码以编程方式启用蓝牙时:
if (!mBluetoothAdapter.isEnabled()) {
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
}
在启用蓝牙的过程中,扫描方法在后台完成。因此,我无法在我的BLE设备上连接,因为在扫描过程中没有找到BLE设备。
据我了解,我应该在手机上启用蓝牙时停止主要意图,并在启用蓝牙后继续主要意图。
你能否告诉我如何做到这一点:使用AsyncTask,另一个Thread或类似的东西?
另一方面,我有一个特殊的BLE设备,它具有我想要连接的特定名称。怎么可能让应用程序不断尝试连接这个BLE设备,保持应用程序和BLE设备持续连接。你有一些有用的代码示例吗?
非常感谢您的时间和精力!
此致
博