loo*_*oop 3 c# silverlight scheduled-tasks windows-phone-8.1
我正在关注此链接以在WP 8.1 Silverlight中实现ScheduledAgent.
脚步 :-
编辑WMAppManifest.xaml:
<Tasks>
<DefaultTask Name="_default" NavigationPage="/View/StartPage.xaml" />
<ExtendedTask Name="BackgroundTask">
<BackgroundServiceAgent Specifier="ScheduledTaskAgent" Name="ScheduledTaskAgent2" Source="ScheduledTaskAgent2" Type="ScheduledTaskAgent2.ScheduledAgent" />
</ExtendedTask>
</Tasks>
Run Code Online (Sandbox Code Playgroud)
添加了具有目标版本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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码启动代理
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){}
}
Run Code Online (Sandbox Code Playgroud)
现在这就是我为后台代理尝试过的所有内容.这不是调用OnInvoke()方法(至少在调试模式下)
注意:我还添加了对ScheduledTaskAgent2项目的引用.
是否有人在WP 8.1(Silverlight)中实现了ScheduleAgent
它是否受到支持?
我得到了解决方案这是完全可行的解决方案,只需复制粘贴即可.但是无法直接从文档中获取它.只需在Package.appxmanifest文件中添加此扩展名即可.你可以选择打开它right click => viewcode.
<Extension Category="windows.backgroundTasks" EntryPoint="AgHost.BackgroundTask">
<BackgroundTasks>
<Task Type="systemEvent" />
<Task Type="timer"/>
</BackgroundTasks>
</Extension>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |