2012-12-10 4 views
0

두 가지 앱이 있습니다. 하나는 Create()로 타일을 만드는 UI이고, 다른 하나는 Update()로 타일을 업데이트하는 에이전트입니다. 2 가지 기능은 한 앱에서 잘 작동했습니다. 둘 다 UI에서 또는 에이전트에서 둘 다. 그러나 UI에 Create를 넣고 에이전트에 Update()를 넣으면 Update()는 Create()로 만든 타일을 찾을 수 없습니다. 뭐가 문제 야? 감사.다른 앱에서 만든 타일을 업데이트하는 방법은 무엇입니까?

private void Create() 
    { 
     ShellTile find = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("ID=shelltile")); 
     StandardTileData date = new StandardTileData(); 
     date.Count = 10; 
     if (find == null) 
     { 
      ShellTile.Create(new Uri("/MainPage.xaml?ID=shelltile", UriKind.Relative), date); 
     } 
    } 
    private void Update() 
    { 
     ShellTile find = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("ID=shelltile")); 
     if (find != null) 
     { 
      StandardTileData date = new StandardTileData(); 
      date.Title = "aaaaaaaaa"; 
      find.Update(date); 
     } 
    } 

답변

1

각 앱은 고유 한 타일에만 액세스 할 수 있습니다. 타일을 업데이트하려면 동일한 앱에서 background agent을 만들어야합니다. (background agent can't create tiles이 내게이 일이 지금 당신이하는 일이 아니라고 믿게합니다.)

+0

제 에이전트에서 Create()와 Update()를해야만합니다. 사용자가 타일을 클릭하면 UI가 실행됩니까? 인터넷을 통해 검색하지만 URI를 작성하여 다른 앱을 시작하는 방법을 찾지 못했습니다. – wizardlee

+0

@ wizardlee 아니요, App2의 타일을 클릭하여 App1을 시작할 수 없습니다. 타일은 자신의 앱 (만든 앱)을 시작할 수 있습니다. 어쨌든 왜 2 가지 다른 앱을 원하십니까? 같은 앱에 UI와 백그라운드 에이전트가있는 것이 어떨까요? –

+0

에이전트에서 Create()를 수행 할 수 없습니다.이 에이전트는 백그라운드 에이전트에서 작동하지 않는 API 중 하나입니다. – gregstoll

관련 문제