Detecting WiFi network
-
I'm loosing my nerves with this, too. I didn't notice this topic but wrote in the General section: https://forum.qt.io/topic/96157/how-to-get-the-current-ssid-what-are-qnetworkconfigurations. I just don't understand what these classes are even supposed to do.
-
A call to updateConfigurations is likely required.
-
The bearer plugins are responsible for providing the backend to the system networking capabilities so yes they are needed but the names are not the same for all the platforms.
-
What plugins do you have ?
-
It looks like QNetworkConfigurationManager can't be trusted nowadays, see for example https://bugreports.qt.io/browse/QTBUG-68613 and https://bugreports.qt.io/browse/QTBUG-65586.
-
Did you solve this issue using native APIs ?
-
Hi sir @dheerendra
sorry for late reply..
I didn't tried with native APIs.
But when I am trying the above code with Android device I am getting this output
CODE:QStringList WiFisList; QNetworkConfiguration cfg; QNetworkConfigurationManager ncm; auto nc = ncm.allConfigurations(); for (auto &x : nc) { qDebug()<< "CHECK1 " << x.bearerType(); if (x.bearerType() == QNetworkConfiguration::BearerWLAN) { qDebug ()<<"CHECK2"; qDebug() <<"WIFI is"<<x.name(); }
OUTPUT:
D libWiFi.so: ..\AshishTest\main.cpp:19 (int main(int, char**)): CHECK1 1 D libWiFi.so: ..\AshishTest\main.cpp:19 (int main(int, char**)): CHECK1 2 D libWiFi.so: ..\AshishTest\main.cpp:21 (int main(int, char**)): CHECK2 D libWiFi.so: ..\AshishTest\main.cpp:22 (int main(int, char**)): WIFI is "Mobile" D libWiFi.so: ..\AshishTest\main.cpp:19 (int main(int, char**)): CHECK1 2 D libWiFi.so: ..\AshishTest\main.cpp:21 (int main(int, char**)): CHECK2 D libWiFi.so: ..\AshishTest\main.cpp:22 (int main(int, char**)): WIFI is "WiFi" D libWiFi.so: ..\AshishTest\main.cpp:19 (int main(int, char**)): CHECK1 7
For android device it is entering inside if (x.bearerType() == QNetworkConfiguration::BearerWLAN) as it is printing check2.
just the problem is that output is WIFI is "WiFi" instead of wifi name I am getting "WiFi" as output . Is something missing in my code? -
@Mohan1997
On Android is not support, you need to implement it with AndroidExtras and calling directly java class