gpt4 book ai didi

c# - 在 Windows Phone 8.1 中的 TimeTrigger 后从后台任务唤醒/启动 MainApp

转载 作者:太空宇宙 更新时间:2023-11-03 21:27:31 24 4
gpt4 key购买 nike

这是我的场景:我在同一个解决方案中有一个 Windows Phone 8.1 应用程序 (MainApp)、一个类库和一个 Windows 运行时组件 (BackgroundTask)。

当我加载我的应用程序时,我注册了一个 TimeTrigger BackgroundTask ,然后操作系统会处理它。任务有两个事件,Run 方法(在任务本身内)和 TaskCompleted 回调,在任务完成后我在我的类库中收到。当应用程序处于前台或后台时,这两个事件都会执行。
当应用程序关闭时,BackgroundTask 仍然存在,因为它是处理它的操作系统,它始终存在。问题是我想在执行任务的 Run 方法时执行我的类库中的方法,但由于我没有我的应用程序实例,所以我不能这样做。

那么,当应用程序关闭时,我如何从我的 BackgroundTask 执行我的类库或 MainApp 中的代码?我可以从我的 BackgroundTask 唤醒/启动应用程序到后台或前台吗?

最佳答案

操作系统不允许您从后台任务打开您的应用程序,因为这会违反用户的前台体验,因为您会在未经他们同意的情况下更改它(这就是为什么像 Rob Caplan 提到的 toast 会有意义) .在我看来,您提到的 TaskCompleted 处理程序意味着允许您允许您的 UI(用户可见)对已注册任务的最后完成的后台任务实例使用react(例如:到显示当您的应用程序处于前台时在您的 bg 任务中下载的更新专辑封面)。

要运行您提到的类库中的代码以响应已完成的任务,只需引用类库(必须支持 winRT 库引用,例如可移植库)或将代码移动到后台任务 winRT 库并在退出之前从 IBackgroundTask.Run 方法调用该代码。

关于c# - 在 Windows Phone 8.1 中的 TimeTrigger 后从后台任务唤醒/启动 MainApp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26103248/

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