2014-11-21 3 views
2

오늘 내 장치에서 이상한 문제가 발생했습니다. 내 장치에서 (0810.14203.306) OnNavigatedFrom 앱이 일시 중지되었을 때 이벤트가 호출되지 않습니다. 지금까지 내가 얼마 전에 기억으로는 확인 작업을하였으며, exacly as documentation stays : 응용 프로그램이 일시 중단 될 때앱이 일시 중지되었을 때 OnNavigatedFrom이 호출되지 않습니다.

주 윈도우 폰에이 OnNavigatedFrom()가 호출된다. OnNavigatedTo()는 앱 재개시 호출되지 않습니다.

내가 간단한 예제 (available at GitHub)을 시도했다 :

protected override void OnNavigatedFrom(NavigationEventArgs e) 
{ 
    this.navigationHelper.OnNavigatedFrom(e); 
    Debug.WriteLine("Navigation"); 
    this.Background = new SolidColorBrush(Colors.Red); 
} 

정상 이벤트가 발생한다 (뒤로 버튼 예) 탐색,하지만 더 이상 응용 프로그램이 일시 중단되어있을 때 - 모두 디버그 및 릴리스 모드에서. 일시 중지 이벤트가 발생하는 경우 또한 확인했는데 그것은이 사실을 ON합니다 :

// uncomment this to check if app is being suspended 
App.Current.Suspending += (sender, e) => this.Background = new SolidColorBrush(Colors.Blue); 

이 나는 ​​뭔가를 놓치고 있습니까?

답변

4

내가 제안 할 수있는 유일한 방법은 Application.Suspending 처리기 (보통 SuspensionManager.SaveAsync에서 수행)에서 Frame.GetNavigationState을 호출하는 것입니다. 워드 프로세서에 따르면

이 메서드를 호출하면 NavigationMode.Forward를 사용하여 현재 페이지 Page.OnNavigatedFrom를 호출합니다. GetNavigationState은 대개 응용 프로그램이 일시 중단 될 때 호출되므로 현재 페이지가 멀리 이동됩니다.

+0

맞습니다. * OnNavigatedFrom *이 SuspensionManager * (이 경우)가 아닌 자동으로 호출되는 것으로 생각했습니다. 따라서 앱이 일시 중지되었을 때 OnNavigatedFrom *이 호출되지 않을 수도 있습니다. 알아두면 좋을 것 같습니다. 고맙습니다. – Romasz

관련 문제