为什么Windows Phone 8.1后台任务在重启设备后无法正常工作?

时间:2016-04-06 14:30:52

标签: xamarin windows-phone xamarin.forms background-task

我在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),这是正确的。

任何想法在重新启动后保留我的任务?

提前致谢!

1 个答案:

答案 0 :(得分:0)

根据这个问题:

"在Windows Phone 7中启动应用程序的唯一方法是响应用户操作。"

Is there something like AlarmManager(Android) in WindowsPhone7 mango, which will launch the app when the alarm goes off?

对于Windows Phone 8,根据另一个问题,有一个"后台代理"你可以每30分钟左右设置一次:

is there any boot complete event in windows phone 8

希望这有帮助。