gpt4 book ai didi

c# - Windows Phone Silverlight 8.1 后台代理

转载 作者:行者123 更新时间:2023-11-30 22:05:55 26 4
gpt4 key购买 nike

我正在用 C# 开发 Silverlight 8.1 应用程序。我想在我的后台周期性任务中使用一些旧的电话 API,所以我不能使用新的 IBackgroundTask RT 接口(interface)。

我使用 OnInvoke 覆盖创建了一个旧式后台代理,然后像以前一样在 WMAppManifest.xml 中注册:<ExtendedTask Name="BackgroundTask">
<BackgroundServiceAgent Specifier="ScheduledTaskAgent" Name="BackgroundAgent" Source="BackgroundAgent" Type="BackgroundAgent.ScheduledAgent" />
</ExtendedTask>

其中 BackgroundAgent 是我的后台代理库,ScheduledAgent 是我的类。

我已在 Package.appxmanifest 中为应用程序启用 Toast 通知。我的通知系统是 WNS(在 WMAppManifest 中)。

我正在尝试以传统方式启动任务:

BackgroundExecutionManager.RequestAccessAsync();
var periodicTask = ScheduledActionService.Find("BackgroundTask");

if (periodicTask != null)
{
ScheduledActionService.Remove("BackgroundTask");
}

periodicTask = new PeriodicTask("BackgroundTask");
(periodicTask as ScheduledTask).Description = "Hello, world.";
ScheduledActionService.Add(periodicTask);

ScheduledActionService.LaunchForTest("BackgroundTask", TimeSpan.FromSeconds(60));

在我的 MainPage.xaml.cs 的 OnNavigatedTo 方法中。

我可以看到这段代码在运行。

但是,我从来没有看到任何代码在我的后台代理中运行——它应该向我发送 toast (我尝试使用 ShellToast 和新的 ToastNotificationManager 来进行基于 xml 的 toast )并进行 http 调用——两者都不要发生。

我看了 Build™ 视频,他们在视频中提到 Silverlight 8.1 应用程序应该完全支持后台代理。

我还可以确认我的应用在省电设置中显示为“允许”,这表明后台代理已在操作系统中注册。

我做错了什么?

最佳答案

我认为您需要在 Package.appxmanifest 中具有入口点为“AgHost.BackgroundTask”的“系统事件”类型的后台任务。这就是在 WP8.1 SL 应用程序中托管 SL 后台代理的原因。如果 list 文件中没有此任务,请自行添加并查看它是否可以解决您的问题。

更新

根据我的经验,“系统事件”类型应该可以工作,但 zaitsman 说他需要使用“定时器”,所以如果第一个不适合你 - 试试另一个。

更新 2

换句话说,你需要有这个:

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

在 WP 8.1 SL 应用程序的 Package.appxmanifest 文件(不要与 WMAppManifest.xml 混淆)的应用程序标签内。

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

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