2013-12-12 1 views
0

타일 알림을 전화로 보낼 때 런타임에 panelId={0}을 해결할 수 있기를 기대하면서 다음과 같이 타일을 생성했습니다.가변 쿼리 문자열로 타일을 딥 링크하는 방법은 무엇입니까?

StandardTileData NewTileData = new StandardTileData 
{ 
    BackgroundImage = new Uri("tile_medium.png", UriKind.Relative), 
}; 

ShellTile.Create(new Uri("MainPage.xaml?Name=MyTile&panelId={0}", UriKind.Relative), NewTileData); 

그런 다음 나는 다음과 같은 통지를 보내

<?xml version="1.0" encoding="utf-8"?> 
<wp:Notification xmlns:wp="WPNotification"> 
    <wp:Tile Id="/MainPage.xaml?Name=MyTile&amp;panelId=106398738"> 
    <wp:BackgroundImage>alarm.png</wp:BackgroundImage> 
    <wp:Count>72</wp:Count> 
    <wp:Title>My Title</wp:Title> 
    <wp:BackContent>Text of the tile</wp:BackContent> 
    </wp:Tile> 
</wp:Notification> 

나는 panelId={0}panelId=106398738에 해결 될하지만 이런 일이하지 않는 것 원했다. 서버가 알림을 수신했음을 확인하더라도 전화는 타일을 업데이트하지 않습니다.

가 나는 또한 다음과 같이 쿼리 문자열에 <wp:Param>을 추가하는 시도했지만,이 작동하지 않았다 중 하나

<wp:Param>/MainPage.xaml?Name=MyTile&amp;panelId=106398738"</wp:Param> 

이 변수 쿼리 문자열이있는 타일은 딥 링크 할 수 있습니까? 그렇다면 어떻게?

+0

... 거의 18시간 이상 및 응답이, 내가 그 때문에 합리적인 요청이 윈도우 폰에서 가능하지 않는 것 나타납니다 놀랐어요! 이 운영 체제의 기능에는 몇 가지 중요한 제한 사항이 있습니다. – DaveDev

답변

0

나는 다음 코드를 사용하는 것이 좋습니다 :

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    if (e.NavigationMode == NavigationMode.New) 
    { 
     string textValue; 
     int value; 

     if (NavigationContext.QueryString.TryGetValue("panelId", out textValue)) 
     { 
      if (int.TryParse(textValue, out value)) 
      { 
       // got it! 
      } 
     } 
    } 
    base.OnNavigatedTo(e); 
} 
관련 문제