2012-12-20 6 views
7

내 신청서에 ShellToast으로 알리고 싶습니다. 그냥 실행하여쉘 껍질을 만들려면 어떻게해야합니까?

...

var toast = new ShellToast 
{ 
    Title = "Nom nom nom!", 
    Content = "More! More! Keep feeding me!", 
}; 
toast.Show(); 

은 ... 아무것도 일어나지 만들고, 내가 이해로는 ScheduledTaskAgent에서 실행해야합니다. 하지만 명령에 따라이 명령을 실행하고 한 번만 실행하는지 확인하십시오.

답변

24

응용 프로그램이 포 그라운드 앱인 동안은 ShellToast를 사용할 수 없습니다. 앱이 포 그라운드 앱이 아닌 동안 백그라운드 서비스에서 호출하도록되어 있습니다.

UX를 ShellToast와 비슷하게 설정하려면 Coding4fun toolkit ToastPrompt 컨트롤을 사용하십시오. 이 코드를 실행

private void ToastWrapWithImgAndTitleClick(object sender, RoutedEventArgs e) 
    { 
     var toast = GetToastWithImgAndTitle(); 
     toast.TextWrapping = TextWrapping.Wrap; 

     toast.Show(); 
    } 

    private static ToastPrompt GetToastWithImgAndTitle() 
    { 
     return new ToastPrompt 
     { 
      Title = "With Image", 
      TextOrientation = System.Windows.Controls.Orientation.Vertical, 
      Message = LongText, 
      ImageSource = new BitmapImage(new Uri("../../ApplicationIcon.png", UriKind.RelativeOrAbsolute)) 
     }; 
    } 

다음 보여줍니다 :

ToastPrompt control with image

+0

안녕하세요. 나는이 코드를 시도하고 있었다. 그것은 잘못된 크로스 스레드 액세스 오류를 제공합니다. 어떻게 해결할 수 있습니까 – PratPor

+0

주 스레드에서 코드를 실행해야합니다. – Hyndrix

0

그냥 작은 업데이트 : 여기에 그것을 사용하는 방법을 보여주는 코드 조각의 응용 프로그램이 포 그라운드에있을 때 ShellToast를 사용하여, 지금 Windows Phone 8 Update 3을 사용할 때 가능합니다. 그러나 전화 통화 나 잠금 화면과 같은 다른 활동에 의해 가려집니다. Source

+0

내가 잘못 읽은 것 같아요. "대상 앱이 포 그라운드에서 실행 중일 때 토스트 알림이 표시되지만 전화 나 잠금 화면과 같은 다른 활동에 의해 가려집니다." – holmis83

관련 문제