每当用户打开应用程序或应用程序进入前台时,我都会尝试执行网络连接检查。以下是示例代码
void ApplicationUI::onFullscreen()
{
qDebug()<<"Application has entered foreground";
QNetworkConfigurationManager mgr;
QList<QNetworkConfiguration> activeConfigs = mgr.allConfigurations(QNetworkConfiguration::Active);
if (activeConfigs.count() > 0)
{
qDebug()<<"Has Internet connection";
}
else
{
qDebug()<<"No Internet connection";
}
}
即使网络连接关闭,也始终打印 具有Internet连接 。有什么想法吗?
答案 0 :(得分:0)
您可以使用QNetworkConfigurationManager.isOnline()。
QNetworkConfigurationManager mgr;
mgr.isOnline();
如果您想获得有关在线状态更改的通知,那么您还可以连接到QNetworkConfigurationManager :: onlineStateChanged(bool isOnline)信号。
connect(mgr, SIGNAL(onlineStateChanged(bool)), this, SLOT(onOnlineStateChanged(bool)));