私のツイッターアカウントからツイートを取得し、自分のシェルタイルの一番上のツイートを表示しようとしています。だから私はそれを行うバックグラウンドエージェント(定期的なタスク)を作成しました。バックグラウンドエージェントは30分ごとに私のtwitterのタイムラインにアクセスし、一番上のツイートを取得してタイルに表示する必要があります。問題は、タイルの更新が1回だけであることです。つまり、エージェントを起動した後、更新されていないということです。私は一度だけ、トップつぶやきを取得することができていますWindows Phone 7.1でシェルティールが正しく更新されない
protected override void OnInvoke(ScheduledTask task)
{
ShellToast popupMessage = new ShellToast()
{
Title = "My First Agent",
Content = "Background Task Launched",
};
WebClient twitter = new WebClient();
twitter.DownloadStringCompleted += new DownloadStringCompletedEventHandler(twitter_DownloadStringCompleted);
twitter.DownloadStringAsync(new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=dnivra26"));
popupMessage.Show();
}
private void twitter_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
return;
XElement xmlTweets = XElement.Parse(e.Result);
var message2 = (from tweet in xmlTweets.Descendants("status")
select tweet.Element("text").Value).FirstOrDefault();
UpdateAppTile(DateTime.Now.ToString() + message2.ToString());
}
private void UpdateAppTile(string message)
{
ShellTile appTile = ShellTile.ActiveTiles.First();
if (appTile != null)
{
StandardTileData tileData = new StandardTileData
{
BackContent = message
};
appTile.Update(tileData);
//NotifyComplete();
}
}
:
は、ここに私のバックグラウンドエージェント・コードです。
。 :D – BigL