2012-09-13 4 views
1

블랙 베리에서 어떤 화면이 열려 있는지/포어 그라운드 상태인지 아는 방법? 즉, BB에서 현재 열려있는 스크린의 이름을 얻을 수 있습니까? 다른 앱, 통화 기록, 메시지 등을 포함 할 수 있습니다. 반드시 내 APP가 아니어야합니다. 이 작업을 수행 할 수 있습니까?블랙 베리에서 열려있는 화면을 아는 방법은 무엇입니까?

if (Application.getApplication().isForeground()) { 
    Screen scr = UiApplication.getUiApplication().getActiveScreen()​; 
} 

답변

0

는 희망이 당신이 의미하는 것입니다. Application 개체 자체를 얻는 것은 좀 더 어려울 수 있지만 최소한 ApplicationDescriptor를 발견 할 수 있습니다.

ApplicationManager mgr = ApplicationManager.getApplicationManager(); 
final ApplicationDescriptor[] vApps = mgr.getVisibleApplications(); 
int foregroundId = mgr.getForegroundProcessId(); 
for(int i = 0; i < vApps.length; i++) { 
    int id = mgr.getProcessId(vApps[i]); 
    if(id == foregroundId) { 
     // we have a winner! 
    } 
} 
+0

나는 UiApplication.getUiApplication(). getActiveScreen()가'수 만 UiApplication 인스턴스에 의해 디스플레이 스택으로 푸시하는 화면을 반환'생각합니다. '다른 APP, 통화 로그, 메시지 등을 포함 할 수 있습니다. 반드시 내 APP가 아니어야합니다. '-이 작업을 수행 할 수 있습니까? – Rupak

1

는 현재 foregrounded 응용 프로그램을 알아낼 수 있습니다 ApplicationDescriptor 세 가지 방법이 있습니다 : 덕분에 ..

관련 문제