在后台代理中,我创建(或更新)一个应用程序实时切片,这可以按预期工作
问题是当我点击这个实时平铺屏幕时闪烁但我的应用程序没有“重新启动”也没有“显示”
怎么了?
我附上了一小部分代码,但是需要更多的代码。
主页
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);
}
}
答案 0 :(得分:3)
尝试使用/MainPage.xaml?tile=true
代替/MainPage.xaml?tile
...
将NotifyComplete()
移至调度程序调用中。否则,它将在操作完成之前调用...