Я разрабатываю приложение для android с использованием Qt 5.15.0. На моем устройстве android, когда я go в Настройки-> Bluetooth , я вижу список сопряженных устройств. Теперь я хотел бы получить информацию об этих устройствах, например MacAddress и name , но я не могу найти способ сделать это. Я пробовал с QBluetoothLocalDevice :: connectedDevices () и с QBluetoothLocalDevice :: allDevices () . Я также попытался запустить сканирование с помощью QBluetoothDeviceDiscoveryAgent :: start () , но когда сканирование завершилось, я получил QBluetoothDeviceDiscoveryAgent :: DiscoveryDevices () Я получаю только новые несопряженные устройства.
необходимо, это мой код:
#include <QDebug>
Dispositivi::Dispositivi(QObject *parent) : QObject(parent)
{
qDebug() << "Inizializzazione Dispositivi";
availableDevices.clear();
discoveryAgent = new QBluetoothDeviceDiscoveryAgent();
connect(discoveryAgent, SIGNAL(deviceDiscovered(QBluetoothDeviceInfo)), this, SLOT(addDevice(QBluetoothDeviceInfo)));
connect(discoveryAgent, SIGNAL(finished()), this, SLOT(scanFinished()));
localDevice = new QBluetoothLocalDevice();
QList<QBluetoothAddress> bluetooth = localDevice->connectedDevices();
for(QBluetoothAddress dev : bluetooth)
{
qDebug() << "Device Mac: " << dev.toString() /*<< " Name: " << dev.name()*/ << " Pairing Status: " << localDevice->pairingStatus(dev);
}
}
Dispositivi::~Dispositivi()
{
delete discoveryAgent;
delete localDevice;
}
void Dispositivi::signalFromQml()
{
qDebug() << "Arrivato il segnale";
}
void Dispositivi::startScan()
{
devicesModel.clear();
discoveryAgent->start();
}
AvailableDevicesModel *Dispositivi::availableDevicesFound()
{
return &devicesModel;
}
void Dispositivi::addDevice(const QBluetoothDeviceInfo &info)
{
}
void Dispositivi::scanFinished()
{
qDebug() << "Finito lo scan";
for (int i = 0; i < availableDevices.size(); i++)
{
devicesModel.insertDevice(availableDevices.at(i));
}
QList<QBluetoothDeviceInfo> bt_found = discoveryAgent->discoveredDevices();
for (QBluetoothDeviceInfo dev : bt_found)
{
qDebug() << "Device Mac: " << dev.address().toString() << " Name: " << dev.name() << " Pairing Status: " << localDevice->pairingStatus(dev.address());
}
emit scanHasFinished();
}
Итак, как я могу получить уже сопряженные устройства? Что мне не хватает?
Заранее спасибо!