Windows Phone 8.1:当手机应用程序处于后台时,UDP数据包将停止传输

时间:2014-09-09 18:07:07

标签: windows-phone

背景资讯

我下载了Windows Phone 8.1(C ++)的线程池示例并对其进行了修改,以便定期计时器定期将UDP数据包发送到远程IP。

问题

我注意到以下内容:

  1. 无论您在手机上执行什么操作,从MSVS 2013启动应用程序时,都会定期发送UDP数据包

  2. 当应用程序置于后台时,从手机的程序列表启动应用程序时,UDP数据包将停止发送。

  3. 问题

    如何在Windows Phone 8.1上创建一个每10秒运行一次的定期任务?无论用户在电话上做什么,周期性任务都必须将UDP数据包发送到预定义的IP:PORT地址。

    我看了一下这个:

    http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977059.aspx

    但我没有看到每10秒运行一次定时任务的可能性。

    如何重现问题

    Link To Test Project

    测试项目包括如何重现我所描述的问题的说明。

1 个答案:

答案 0 :(得分:0)

不幸的是,在Windows Phone上无法实现您所追求的目标。一旦应用程序在手机上不再处于活动状态,它就会被逻辑删除,不再运行。

您可以使用Background Agents实现类似的功能,但它们的功能受到限制,并且每30分钟才会运行一次。

还有其他后台代理可以响应不同的电话事件,包括位置更改,网络可用性更改和地理围栏触发器。

有一种稍微强硬的方法可以强制执行后台任务,并且可以冒充audio player task。但它并不是一个很好的解决方案。