2013-07-15 1 views
1

현재 실행중인 추적 프로그램을 작성 중이며 사용자가 백그라운드에서 실행중인 응용 프로그램을 가질 수 있어야합니다.백그라운드에서 앱을 실행 한 후 WP8에서 원하는 페이지로 돌아 오는 방법은 무엇입니까?

백그라운드에서 실행할 때마다 정상적으로 작동하지만 앱을 다시 열 때마다 기본 메뉴에 다시 표시됩니다.

결국 나는 사용자가 중단 한 부분을 선택할 수 있도록 RootFrame.BackStack에 대한 액세스를 원합니다.

내 App.xaml.cs에서 다음 코드를 시도했지만 RootFrame.BackStack.GetEnumerator()에 액세스하려고 시도 할 때 "InvalidOperationException"이 발생했습니다.

참고 : Current를 검사하기 전에 Current 값이 모두 null이 아닌지 확인했습니다.

private void Application_Activated(object sender, ActivatedEventArgs e) 
    { 
     JournalEntry j; 
     if (RootFrame.BackStack.GetEnumerator().Current != null) 
      j = RootFrame.BackStack.GetEnumerator().Current; 
     RunningInBackground = false; 
    } 

답변

1

당신은 무엇이라고 찾고있는 Fast App Resume :

윈도우 폰 8 앱은 같은 응용 프로그램의 도청와 같이 일반적으로 응용 프로그램을 다시 시작 할 작업을 해당 사용자를 요청할 수있는 기능을 소개

타일을 시작한 다음 일시 중지 된일시 중지 된 인스턴스 (있는 경우)를 다시 시작합니다. 이 기능은 Fast Resume이라고합니다.

앱에 빠른 다시 시작을 사용하려면 WMAppManifest.xml의 DefaultTask 요소에 ActivationPolicy 특성을 추가하고 값을 "다시 시작"으로 설정하십시오.

<DefaultTask Name="_default" NavigationPage="MainPage.xaml" ActivationPolicy="Resume"/> 
+0

그 점에 대해 감사드립니다. 그래도 더 유기적으로 작동시키는 법을 알게 되겠습니까? 간단히 "Resume"을 변경하면 작동하지 않으므로 프레임을 재설정해야하는 경우 이상한 해결 방법을 수행하고 내 MainPage 탐색을 취소해야합니다. 이 결과는 지저분한 페이지 전환입니다. –

+0

내 버그를 알아 냈어. 애니메이션을 재생할 수 있도록 스레드를 잠자 게해야합니다. –

관련 문제