gpt4 book ai didi

c# - Windows Phone 8.1 (Silverlight) 中的后台代理

转载 作者:行者123 更新时间:2023-11-30 14:54:45 25 4
gpt4 key购买 nike

我正在关注 this link用于在 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>

添加了目标版本为 8.1 的新 ScheduledAgent 项目。 : enter image description here

现在是我的 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() 方法(至少在 Debug模式下)

注意:我也添加了对 ScheduledTaskAgent2 项目的引用。

有没有人在 WP 8.1 (Silverlight) 中实现了 ScheduleAgent

完全支持吗?

最佳答案

我得到了解决方案这是完全有效的解决方案,只需复制粘贴即可。虽然无法直接从文档中获取它。只需将此扩展添加到您的 Package.appxmanifest 文件中。您可以通过 右键单击 => 查看代码 选项打开它。

 <Extension Category="windows.backgroundTasks" EntryPoint="AgHost.BackgroundTask">
<BackgroundTasks>
<Task Type="systemEvent" />
<Task Type="timer"/>
</BackgroundTasks>
</Extension>

关于c# - Windows Phone 8.1 (Silverlight) 中的后台代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26933884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com