下面将会介绍一种QT自带的监听网络状态的方法,只能识别有有网还是没网,不能判断是蜂窝网还是wifi网络。
方法如下:
主要是用到了QNetworkConfigurationManager 这个类。
bool NetworkRequest::isNetWorkOnline()
{
QNetworkConfigurationManager mgr;
return mgr.isOnline();
}
这种方法是需要手动调用才能识别,所以要做到实时监听,需要连接该方法的onlineStateChanged信号,可以做到网络实时变化通知,仅仅只能判别是否有网,如果需要在安卓上面判别具体是什么网络,请看我另外一篇文章。
下面贴出监听的信号连接:
QNetworkConfigurationManager mgr;
connect(&mgr, &QNetworkConfigurationManager::onlineStateChanged,this, [=](bool isOnline){
qDebug()<<"网络已经更改"<<isOnline;
});