长时间运行的后台任务中的Internet访问

时间:2016-05-12 19:14:44

标签: c# windows-runtime windows-phone win-universal-app windows-10-universal

在我的Windows Phone 10应用程序中,我有一个由RfcommConnectionTrigger触发的长时间运行的后台任务。只要我的蓝牙Rfcomm设备已连接,此任务就会运行。

现在我想要实现的是:

  • 蓝牙设备会将一些数据发送到手机上的应用程序(正常工作)
  • 手机使用HTTP请求(不工作)
  • 查找值
  • 手机将结果发送回蓝牙设备(正常工作)

#2的问题是,一旦我锁定设备,由于某种原因所有HTTP请求都会开始失败。我只是使用System.Net.Http.HttpClient来做一个请求,那里没什么特别的。更具体地说,HttpClient.SendAsync中会抛出异常。

如何解决这个限制?

1 个答案:

答案 0 :(得分:1)

I found the solution.这似乎是一个完全无证的特征" - 您需要在后台任务中添加SystemConditionType.InternetAvailable条件,以便在设备锁定时允许其使用互联网。我希望这并不意味着当手机失去互联网访问权限时,后台任务就会被杀死。

这也意味着手机现在需要连接到互联网以启动后台任务,这仍然很烦人,但我想我可以忍受。