在 Windows Phone 8.1 中从后台任务启动应用程序

Posted

技术标签:

【中文标题】在 Windows Phone 8.1 中从后台任务启动应用程序【英文标题】:Launching an application from backround task in Windows Phone 8.1 【发布时间】:2014-12-11 21:10:44 【问题描述】:

我有一个基于示例后台任务演示代码的 C# 应用程序。它每 X 分钟在后台运行一个任务。如果某些条件为真,我希望它启动我的应用程序。我没有任何运气在谷歌上搜索“从后台任务启动应用程序”之类的东西我已经尝试以我能想到的多种方式对其进行改写,但我仍然没有得到相关结果。

谁能告诉我后台任务是否可以启动应用程序?如果是这样,请指出我正确的方向以找出方法。

【问题讨论】:

正如我所尝试的,似乎 Lau​​nchUriAsync 方法在 BTask 中受到限制,因此处理 uri 激活在这里无济于事。一个想法是,您可以从后台发送 toast 消息,一旦用户点击 toast,他就会被重定向到您的应用程序。 这个应用更像是一个信息亭。没有像个人设备上那样的单个用户。在任何给定时间,可能有也可能没有任何人实际与设备进行交互,所以很遗憾,我不能指望他们必须点击任何东西。 我可以想象每 30 分钟触发一次的应用程序,那么我很高兴没有这样的选项。 AFAIK 没有用户交互(使用公共 API)就不可能打开应用程序。如果你不需要用户,也没有用户,那么 UI 的目的是什么?不能是在 BTask 中完成的工作 - 资源密集型任务或其他? UI 的目的是吸引人们使用设备,让他们注意到它并开始使用它。本质上,我的目标是更定制的“Retial Mode”类型的应用程序。 AFAIK 这不可能——正如我在第一条评论中所写的那样。 【参考方案1】:

你不能。

应用程序的控制流受到限制是有充分理由的。 没有用户交互就无法启动任何应用程序。

您唯一能做的就是显示一条 toast 消息,允许用户根据需要访问您的应用程序。

【讨论】:

以上是关于在 Windows Phone 8.1 中从后台任务启动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Windows phone 8.1 后台任务突然退出

Geofence windows phone 8.1中触发后台任务的阈值距离

Windows Phone 8.1 - 从后台任务创建 WriteableBitmap 时出现异常

Windows phone 8.1 后台任务内存管理

适用于 Windows Phone 8.1 的后台媒体播放器中的无缝循环

推送通知后台任务崩溃 Windows Phone 8.1 模拟器/设备