1

在后台代理中,我创建(或更新)其中一个应用程序动态图块,并且按预期工作。
问题是,当我单击此实时磁贴屏幕闪烁但我的应用程序未“重新启动”或“显示”时。
怎么了?
我附上了一小部分代码,但你需要更多。

主页

public partial class MainPage : PhoneApplicationPage
{
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
    }
    public MainPage()
    {
        InitializeComponent();

        // Runs background agent: code is simplified
        StartAgent();
    }
}

背景代理

public class TileAgent : ScheduledTaskAgent
{
    protected override void OnInvoke(ScheduledTask task)
    {
        Deployment.Current.Dispatcher.BeginInvoke(() =>
        {
            Vars.UpdateTiles();
        });

        NotifyComplete();
    }
}

静态类

public class Vars
{
    private static Uri uri = new Uri(
        "/MainPage.xaml?tile",
        UriKind.RelativeOrAbsolute);
    private static RadExtendedTileData ExtendedData
    {
        get
        {
            return new RadExtendedTileData()
            {
                VisualElement = frontTile,
                BackVisualElement = backTile,                    
            };
        }
    }

    public static void UpdateTiles()
    {
        // I perform some task here

        // Then I create/update live tile
        Telerik.Windows.Controls.LiveTileHelper.CreateOrUpdateTile(
            ExtendedData, uri);
    }
}
4

1 回答 1

3

尝试/MainPage.xaml?tile=true而不是/MainPage.xaml?tile...

NotifyComplete()进入调度员呼叫。否则会在操作完成前被调用...

于 2012-07-05T16:02:48.997 回答