QtBluetooth Win10,如何检查蓝牙适配器是否可用并打开?

时间:2019-04-09 19:27:18

标签: c++ qt windows-10 bluetooth-lowenergy qtbluetooth

我在Win10下使用QtBluetooth。效果很好。

但是,由于我的应用程序既部署在笔记本电脑(可能有也可能没有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适配器是否可用的正确方法是什么?

0 个答案:

没有答案