2013-09-21 4 views
0

내 앱에서 BB 10 기기가 오프라인 일 때 ... "확인"버튼이있는 대화 상자를 표시해야합니다. "확인"버튼을 눌러 APP를 종료해야합니다 !!!BB 10 앱이 오프라인 인 경우 앱이 종료됩니다.

SystemDialog *dialog; 
dialog = new SystemDialog(tr("OK"), 0); 
dialog->setTitle(tr("Alert")); 
dialog->setBody(message); 
dialog->setDismissAutomatically(true);. 
connect(dialog, SIGNAL(finished(bb::system::SystemUiResult::Type)), dialog, 
     SLOT(deleteLater())); 
dialog->show(); 

여기서 deleteLater()는 경고 대화 상자 만 종료하지만 App은 종료하지 않는 SystemSlot입니다. C++ 코드를 통해 BB 10에서 어떻게 수행합니까? 그것은 가능한이어서 그것 말하고, deleteLater()는 다음과 같이 SystemSlot

// I replaced deleteLater() with SLOT(deleteLaters()) in above code and Added this Slot 
void deleteLaters(){ 
    bb::Application::exit(0); 
    } 

을 재정의하고, BB : 시스템에서 발견 그러한 슬롯 deleteLaters()!

도와주세요,

Thankks !!!

답변

0

나는 SystemDialogfinished 신호를 동일한 객체의 deleteLaters 슬롯 (존재하지 않음)에 연결하려고합니다.

클래스에 슬롯을 선언하는 경우 myObjectthis 일 수있는 다음 코드와 같은 것을 시도해보십시오.

int connectResult = connect(dialog, 
          SIGNAL(finished(bb::system::SystemUiResult::Type)), 
          myObject, 
          SLOT(deleteLaters())); 
Q_ASSERT(connectResult); 
Q_RESULT(connectResult); 

제대로 클래스에 새 슬롯을 선언하는 방법에 대한 자세한 내용은 signals and slots 설명서를 참조하십시오.

참고 : 실제로 응용 프로그램을 닫아야하는 경우 (권장하지 않음) Application::instance->requestExit()을 올바르게 사용해야합니다.

int connectResult = connect(dialog, 
          SIGNAL(finished(bb::system::SystemUiResult::Type)), 
          Application::instance, 
          SLOT(requestExit())); 
Q_ASSERT(connectResult); 
Q_RESULT(connectResult); 
+0

내가 귀하의 게시물, 감사에 동의하지만, BB (10) 장치가 오프라인 인 경우 방법을 알고 : 응용 프로그램을 닫기 전에 다른 작업을 수행 할 필요가없는 경우에는 직접 requestExit() 슬롯에 신호를 연결할 수 있습니까? 나는이 http://pastebin.com/9FMy7FRM을 시도했지만 온라인 상태 일지라도 콘솔에 오프라인 상태가됩니다. 시뮬레이터에서 이것을 테스트하고 있습니다. 실제 BB 10 장치에서 동일한 작업을 수행합니다. – Sharath

관련 문제