2012-03-14 64 views
1

我一直在苦苦掙扎幾天。我正在製作當地的天氣應用程序,我希望該圖塊顯示圖像(weathericon)和文本(地點名稱+溫度)。如何在程序未運行時更新活動磁貼?

在代碼中,你可以這樣做:

ShellTile firstTile = ShellTile.ActiveTiles.First(); 
var newData = new StandardTileData() 
{ 
    Title = "Placename, 50F", 
    BackgroundImage = new Uri("background.png", UriKind.Relative), 
}; 

// Update the default tile 
firstTile.Update(newData); 

但你如何做到這一點,而應用程序無法運行,所以我不必打開應用程序更新的磚,但它本身做的。

+0

如果你的應用程序沒有運行,你將無法更新磁貼。 – 2012-03-14 12:06:47

回答

6

您將需要設置一個BackgroundAgent來執行此操作。傑夫·勃蘭對在http://www.jeffblankenburg.com/2011/11/25/31-days-of-mango-day-25-background-agents/

這樣一個警告夫婦一個很好的教程:

  • 運行時,無法控制。

  • 您的圖片需要託管在外部(例如,不是應用程序的資源/內容)。 Ku6opr表示可以通過代碼生成圖像,並將其作爲替代方案放入/Shared/ShellContent

  • 圖片必須是173x173像素

  • 圖片必須小於85K的大小。

編輯:固定像素大小。顯然這些位被炸了

+0

>「您的圖片需要託管在外部(例如,不包含應用程序的資源/內容)。」實際上,您可以通過代碼生成圖像,並將它們放置在'/ Shared/ShellContent /'文件夾中以製作具有圖像的'Tile'。 – Ku6opr 2012-03-14 13:30:33

+1

>「圖片需要正好爲179x179」。其實173x173是一塊瓷磚的正確尺寸 – Ku6opr 2012-03-14 13:31:04

+0

>「圖像尺寸小於85K」。實際上,這是對由調度程序更新的「平鋪推送通知」大小或外部磁貼的限制。從'背景代理'你不需要考慮瓷磚尺寸 – Ku6opr 2012-03-14 13:32:48

相關問題