2014-02-26 2 views
0

pushGlobalScreen()을 사용하여 앱 배경에서 글로벌 화면을 만들었지 만 글로벌 화면을 만든 후에는 제거 할 수 없습니다.popScreen() (블랙 베리)에서 작동하지 않는 pushGlobalScreen()에서 생성 된 글로벌 화면

은 여기 내 리스너에서 내 코드입니다 :

UiApplication.getUiApplication().requestForeground(); 
UiApplication.getUiApplication().pushGlobalScreen(new QuestionGScreen(), 1, UiApplication.GLOBAL_QUEUE); 

QuestionGScreen 그 다음 같은 코드를 사용하여 다른 글로벌 화면을 생성하지 (마이너스 requestForeground) 예를 누르면, 더 누를 경우 몇 가지 간단한 버튼이 있습니다 나는 내가 인수없이 popScreen()이 감가 상각되는 것을 알고 있지만, UiApplication.getUiApplication().getActiveScreen()popScreen()를 사용하는 것은 나에게 불법 인수 예외를 제공

UiApplication.getUiApplication().requestBackground(); 
UiApplication.getUiApplication().popScreen(); 

있습니다.

글로벌 화면을 제거하는 다른 방법이 있습니까? 아니면 글로벌 화면을 표시하는 데 문제가 있습니까?

덕분에, 퀸

답변

0

글로벌 화면은 PopupupScreen 또는 일반 화면과 같은 응용 프로그램의 일환으로 블랙 베리에 의해 관리되지 않습니다. 결과적으로 Global 화면을 누를 때 응용 프로그램 디스플레이 스택에서 찾을 수 없으며 응용 프로그램이 백그라운드에 놓이게되면 "배경"으로 표시되지 않습니다.

글로벌 화면을 밀어 넣은 상태에서 상호 작용하고 싶다면 화면을 직접 참조해야합니다.

예를 들어 버튼 누르기를 처리하는 경우 대화 상자 화면과 상호 작용할 때 화면이 사용자 자신의 컨텍스트에서 실행 중이 지 않으므로 응용 프로그램 컨텍스트에서 실행되지 않습니다. 따라서 응용 프로그램과 상호 작용하려면 전역 이벤트를 사용해 보는 것이 좋습니다. 당신이 여기에 좋은 기사를 발견 할 것이다 : 당신이 정말로 관계없이 현재하고있는 일의 사용자의 관심에 뭔가를 가져올 필요가없는

Global Events article

가 개인적으로는 글로벌 화면을 사용하지 않는 것 - 사용자를 상상 중요한 이메일의 한가운데에 있는데, 정말로 화면을 볼 필요가 있습니까? 다른 형태의 통지를 시도하십시오.

정상적인 팝업 화면으로 원하는 것을 얻을 수 있습니까? 전역 화면은 특별하지 않으며 전역 화면은 다르게 푸시됩니다.

업데이트

이 댓글을했다 :

내가 사과해야한다, 이것은 당신이 말한있는 원래의 게시물을 검토 할 날을 트리거 ("전화 통화 화면이 닫힐 때 화면이 사라집니다"하는 나는 놓쳤다.) "내 청취자의 코드는 여기에있다."

사실 여기서 문제는 리스너 코드가 전화 애플리케이션 컨텍스트에서 실행되고 있다는 것입니다. 전화 애플리케이션이 끝나면 전화 애플리케이션이 백그라운드로 들어갑니다. 이것은 내가 생각하기에, 당신의 팝업 스크린이 사라지는 이유입니다. 물론 글로벌 애플리케이션은 전화 애플리케이션의 일부가 아니기 때문에 그렇지 않습니다.

리스너에서 허용되는 연습은 가능한 한 적은 처리를 수행하고 대신 글로벌 이벤트 (이전 링크 참조)를 사용하여 컨텍스트를 자신의 응용 프로그램으로 전환하는 것입니다. 앱이 백그라운드에서 실행 중이며 전역 이벤트를 수신하고 팝업 화면을 표시하지만 팝업 화면을 보려면 휴대 전화 화면을 숨길 수있는 위치()를 요청해야합니다. 그 화면이 어쨌든 숨어 있기 때문에 큰 문제가 아닙니다 ...

+0

마지막 지점에서 언급 한 것을 수행하고 화면을 간단한 팝업 화면으로 변경했습니다. 그러나 팝업이 나타나면 문제가 발생합니다. 보여 주면, 나는 링크 (예 및 아니오 버튼)를 탐색 할 수 있지만 팝업에서 생성 된 모든 화면은 약 3 초 이내에 사라집니다. 화면을 너무 빨리 사라지게하기 위해 전달해야하는 논쟁이 있습니까? 지금까지 당신의 도움에 대해 대단히 감사합니다. – Br0k3nL1m1ts

+0

사실, 전화 화면이 닫히면 화면이 사라지는 오류를 발견했다고 생각합니다. 전화가 끝났을 때가 아니라 전화 화면이 닫혀있을 때 어떤 이벤트가 발생했는지 찾아서 사용하려고합니다. – Br0k3nL1m1ts

+0

우수! 나는 당신이 말한대로 일할 수있는 글로벌 이벤트를 준비했고 매우 원활하게 돌아갑니다! 나는 아직 몇 가지 버그가 있다고 확신하지만 핵심 기능이 있습니다. 당신의 도움을 주셔서 대단히 감사합니다! – Br0k3nL1m1ts