2014-09-20 69 views
1

我想检测网络的状态。我发现了两种方式来寻找BB 10.2互联网连接,但没有人似乎工作:如何检测黑莓10.2中的网络状态

1:它总是返回“QNetworkAccessManager :: UnknownAccessibility”

QNetworkAccessManager* networkAccessManager = new QNetworkAccessManager(this); 
networkAccessManager->networkAccessible(); 

2:它总是返回true

QNetworkConfigurationManager *manager = new QNetworkConfigurationManager(); 
bool res = QObject::connect(manager, 
       SIGNAL(onlineStateChanged(bool)), 
       this, 
       SLOT(onOnlineStateChanged(bool))); 
Q_ASSERT(res); 

有人能帮助我吗?

+1

关于第二个:'如果连接成功,'QObject :: connect'返回'true',否则返回'false'。您可以尝试在“onOnlineStateChanged”插槽中记录状态,并打开/关闭飞行模式以查看是否已记录。 – 2014-09-25 15:28:11

+0

第二个似乎是在设备上工作,但不是在模拟器上。 – anam 2014-09-30 07:03:28

+0

但是,如果我们在离线模式下启动应用程序,这也不起作用。有什么建议么? – anam 2014-09-30 07:54:51

回答

0

解决方案是使用QNetworkConfigurationManager::isOnline()

QNetworkConfigurationManager *manager = new QNetworkConfigurationManager(); 
Q_ASSERT(manager->isOnline());
+0

感谢Kernald的回应。我仍然无法使用上述代码检测网络。我们需要在应用中更新哪些设置或配置?我的应用程序有“互联网”权限启用顺便说一句。 – anam 2014-09-30 06:51:10