我QtBluetooth
在win10下使用。工作正常。
但是,由于我的应用程序同时部署在笔记本电脑(可能有也可能没有 BT 适配器)和台式机(可能没有适配器)上,我想以编程方式检查适配器是否可用(存在并启用)。
考虑到文档,我测试了 4 个函数:
bool isBluetoothAvailable1()
{
return !QBluetoothLocalDevice::allDevices().empty();
}
bool isBluetoothAvailable2()
{
QBluetoothLocalDevice localDevice;
return localDevice.isValid();
}
bool isBluetoothAvailable3()
{
std::shared_ptr<QLowEnergyController> created( QLowEnergyController::createPeripheral() );
if ( created )
{
if ( !created->localAddress().isNull() )
return true;
}
return false;
}
bool isBluetoothAvailable4()
{
std::shared_ptr<QLowEnergyController> created( QLowEnergyController::createCentral( QBluetoothDeviceInfo() ) );
if ( created )
{
if ( !created->localAddress().isNull() )
return true;
}
return false;
}
但是当我在 Win10 笔记本电脑上运行我的代码时,它们都返回 false!即使我可以使用QBluetooth
API 搜索连接远程设备。
知道 BLE 适配器是否可用的正确方法是什么?