Unsolved Detecting WiFi network
-
hi @SGaist
yes its Ethernet....
Dont know why it is getting set to ethernet and not working for wifi......
for this code are some plugins required??
-
Might be a silly question: is your WiFi device enabled ?
-
YES my device is enabled
-
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.
-
What all things can i try to solve this problem??
Is there a problem in code ?? -
A call to updateConfigurations is likely required.
-
ok i ll try that.
-
@SGaist
I tried but nothing happenedI have found this
https://forum.qt.io/topic/47384/qt-connecting-to-wireless-networks/4what is qgenericbearer.dll and qnativewifibearer.dll and is it needed for this program??
-
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.
-
Ok @SGaist
In my Qt , I checked and found that in plugin/bearer I don't have qnativewifibearer.....
Do I just need to download it and paste it in my Qt plugin folder??
-
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.
-
I have qgenericbearer.dll only @SGaist
-
Hi @Eeli-K what else can I use other than QNetworkConfigurationManager if I want to use unpaid version of Qt...
-
I think you have to use platform-native APIs instead of Qt.
-
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? -
This post is deleted! -
Seems i am having also same issue .
when i am printing x.bearerTypename i am having the name of interface only.
not getting all SSID names in the list.
can anyone help me here. -
@Mohan1997
On Android is not support, you need to implement it with AndroidExtras and calling directly java class