Windows Phone 8.1中的后台代理(Silverlight)
我正在关注此链接以在WP 8.1 Silverlight中实现ScheduledAgent。
脚步 :-
编辑WMAppManifest.xaml
:
添加了具有目标版本8.1的新ScheduledAgent项目。 :
现在我的ScheduledAgent类
#define DEBUG_AGENT using System; using System.Diagnostics; using System.Windows; using Microsoft.Phone.Scheduler; using Microsoft.Phone.Shell; namespace ScheduledTaskAgent2 { public class ScheduledAgent : ScheduledTaskAgent { protected override void OnInvoke(ScheduledTask task) { #if DEBUG_AGENT ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(60)); #endif NotifyComplete(); } } }
我的代码启动代理
public const string PeriodicTaskName = "ScheduledTaskAgent2"; private PeriodicTask _periodicTask; private void StartPeriodicAgent() { _isPeriodicTaskStarted = true; _periodicTask = ScheduledActionService.Find(PeriodicTaskName) as PeriodicTask; if (_periodicTask != null) { RemoveAgent(PeriodicTaskName); } _periodicTask = new PeriodicTask(PeriodicTaskName) {Description = "periodic task."}; try { ScheduledActionService.Add(_periodicTask); #if(DEBUG_AGENT) ScheduledActionService.LaunchForTest(PeriodicTaskName, TimeSpan.FromSeconds(60)); #endif } catch (Exception exception){ } } private static void RemoveAgent(string name) { try { ScheduledActionService.Remove(name); } catch (Exception){} }
现在这就是我为后台代理尝试过的所有内容。 这不是调用OnInvoke()
方法(至少在调试模式下)
注意 :我还添加了对ScheduledTaskAgent2项目的引用。
是否有人在WP 8.1(Silverlight)中实现了ScheduleAgent
是否支持?
我得到了解决方案这是完全可行的解决方案,只需复制粘贴即可。 但是无法直接从文档中获取它。 只需在Package.appxmanifest
文件中添加此扩展。 您可以通过right click => viewcode
选项打开它。