2014-09-20 10 views
1

네트워크 상태를 감지하고 싶습니다. 나는 BB 10.2에서 인터넷 연결을 찾기 위해 두 가지 방법을 찾았지만 아무도 작동하는 것 같다 :BlackBerry 10.2에서 네트워크 상태를 감지하는 방법

1 : 항상

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

2 "QNetworkAccessManager :: UnknownAccessibility"를 반환 : 그것은 항상 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' 슬롯에 상태를 기록하고 비행기 모드를 켜고 끄면 기록되어 있는지 확인할 수 있습니다. –

+0

두 번째는 장치에서 작동하지만 시뮬레이터에서는 작동하지 않는 것 같습니다. – anam

+0

그러나 오프라인 모드에서 앱을 시작하면이 또한 작동하지 않습니다. 어떤 제안? – anam

답변

0

해결책은 QNetworkConfigurationManager::isOnline()을 사용하는 것입니다.

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

답변 해 주신 Kernald에게 감사드립니다. 위의 코드를 사용하여 네트워크를 감지 할 수 없습니다. 앱에서 업데이트해야하는 설정이나 구성이 있습니까? 내 응용 프로그램은 "인터넷"권한을 btw 사용할 수 있습니다. – anam