2013-12-19 2 views
3

SystemTray 표시를 설정하는 동안 문제가 발생하는 아래에 설명 된 임의의 버그가 있습니다. xaml에서 SystemTray 가시성을 false로 설정했습니다. 때로는 항상 무작위로 앱을 무작위로 충돌시킵니다. 던져진 예외는 System.ArgumentExceptionValue does not fall within the expected range.SetSysTrayVisible 버그 Windows Phone 8

스택 트레이스가의 가능한 이유가 될 수있는 것

Microsoft.Phone.Shell.Interop.NativeSystemTrayMethods.SetSysTrayVisible(IntPtr pSysTray, Boolean fVisible)  
Microsoft.Phone.Shell.Interop.NativeSystemTrayInteropWrapper.SetSystemTrayVisible(Boolean isVisible) 
Microsoft.Phone.Controls.PhoneApplicationPage.set_SystemTrayIsVisible(Boolean value) 
Microsoft.Phone.Controls.PhoneApplicationPage..ctor() 

다음과 같이이다? 해결 방법은 무엇입니까? 모든 리드가 감사하겠습니다.

+0

다른 페이지를 확인하거나 문제가 발생했는지 여부와 관계없이 새 페이지를 만듭니다. – asitis

+0

아니요, 임의적입니다. 이것을 확인하십시오 http://social.msdn.microsoft.com/Forums/wpapps/ko-US/62ffbd7f-d7fa-4b68-ba65-cd4e851f0b6c/wp8-systemtrayisvisibletrue? forum = wpdevelop –

+0

페이지가 없습니다. – asitis

답변

0

이것은 어떤 방법 으로든 해결책이 아닙니다.

우리는 WP8.0 장치에서 대부분 같은 오류 (90 %)를보고 있으며 WP8.1 장치의 매우 작은 비율이 있습니다. 다른 오류 보고서에는 어떤 이유로 OS 버전이 포함되어 있지 않습니다.

다음은 Microsoft의 고급 기술 지원에서 알아 낸 것입니다.

이것은 알려진 문제인 이 WP8.1에 대해 수정되었습니다.

Stack Trace가 제시하고 WP8.1에서 수정해야하는 SetSystemTrayVisible 버그를 살펴 보았습니다.

난 당신이 8.10.14234에 어떤 경우를보고있는 이유를 잘 모르겠지만,

불행하게도 그 지역에서 두 번째, 희귀, 문제가있을 수 있습니다, 당신이 할 수있는 일이없는 당신의 WP8.0에서이를 방지하기위한 코드. 루트 페이지 초기화에서 문제가 발생하여 시스템 트레이의 기본 상태가 설정됩니다. 네이티브 interop에서 잘못된 가드 검사가 있기 때문에 핸들이 잘못된 값으로 초기화되면 예외가 발생합니다. 가드가 WP8.1 용으로 수정되었습니다.

오류를 감지 할 수 있어야합니다 ... 메시지 상자를 표시 할 수있는 Application_UnhandledException 핸들러를 트리거해야합니다.

따라서 예외를 처리하는 가장 좋은 방법은 감지 (catch) 한 다음 OS를 WP8.1로 업그레이드하라는 사용자를 제안하는 것입니다. 장치 또는 에뮬레이터에서이 오류를 재현 할 수없는 원인이 얼마나 실현 가능성이 있는지 잘 모르겠습니다.

희망이 도움이됩니다.

0

모든 .dll을로드했는지 확인하십시오. Visual Studio! 또한 모든 방법 이미 그 일을 한 page.xaml.cs

using Microsoft.Phone.Shell; 

의 상단에 문자열을 썼다 있는지 확인하고 나를 위해 마법처럼 작동합니다!

//Fullscreen mode. 
SystemTray.IsVisible = false; 

감사합니다! // Bachir Bouchemla