背景资讯
我下载了Windows Phone 8.1(C ++)的线程池示例并对其进行了修改,以便定期计时器定期将UDP数据包发送到远程IP。
问题
我注意到以下内容:
无论您在手机上执行什么操作,从MSVS 2013启动应用程序时,都会定期发送UDP数据包
当应用程序置于后台时,从手机的程序列表启动应用程序时,UDP数据包将停止发送。
问题
如何在Windows Phone 8.1上创建一个每10秒运行一次的定期任务?无论用户在电话上做什么,周期性任务都必须将UDP数据包发送到预定义的IP:PORT地址。
我看了一下这个:
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977059.aspx
但我没有看到每10秒运行一次定时任务的可能性。
如何重现问题
测试项目包括如何重现我所描述的问题的说明。
答案 0 :(得分:0)
不幸的是,在Windows Phone上无法实现您所追求的目标。一旦应用程序在手机上不再处于活动状态,它就会被逻辑删除,不再运行。
您可以使用Background Agents实现类似的功能,但它们的功能受到限制,并且每30分钟才会运行一次。
还有其他后台代理可以响应不同的电话事件,包括位置更改,网络可用性更改和地理围栏触发器。
有一种稍微强硬的方法可以强制执行后台任务,并且可以冒充audio player task。但它并不是一个很好的解决方案。