我在Windows Phone 8.1(没有Silverlight)上将后台任务实现到我的Xamarin Forms项目中,除非重启设备,否则它可以正常工作。
关于项目:
Xamarin Forms项目(使用最新的XF库)
添加了WinRT项目以创建后台任务。
我修改了WP项目中的清单,以便在教程解释时设置新的后台任务。
我的设备:NOKIA Lumia 925 - Windows Phone 8.1
当我运行我的应用程序时它工作正常,我关闭它并且每15分钟发出一次通知。但是,我重启了我的设备,后台任务消失了。该应用程序也在发布和调试模式下部署,我已经授予"在电池保护程序打开时运行背景模式事件"。
测试概念:
此外,我发现了一个非常奇怪的行为,使用测试WinPhone 8.0项目我尝试添加计划任务代理(使用Silverlight)项目,并且出于某种原因,它被添加为"计划任务代理(Windows Phone 8.0) )"并且这个代理在重新启动后保留我的后台任务,一切正常。我认为WinPhone 8.0总是使用Silverlight,如果我错了请纠正我!
我尝试以同样的方式使用我的WinPhone 8.1(没有Silverlight)项目,使用Silverlight添加了Scheduled Task项目,我无法引用它,因为它们是不同的编译dll(Silverlight DLL和.NET CLR),这是正确的。
任何想法在重新启动后保留我的任务?
提前致谢!
答案 0 :(得分:0)
根据这个问题:
"在Windows Phone 7中启动应用程序的唯一方法是响应用户操作。"
对于Windows Phone 8,根据另一个问题,有一个"后台代理"你可以每30分钟左右设置一次:
is there any boot complete event in windows phone 8
希望这有帮助。