【问题标题】:Network access in a windows phone 7 background agentwindows phone 7后台代理中的网络访问
【发布时间】:2012-02-03 19:24:01
【问题描述】:

我有一个应用程序,它使用后台代理通过 wi-fi(而不是蜂窝网络)访问网络和本地网络。当手机被锁定时,后台代理运行时 wi-fi 网络不可用 - 至少在三星 Focus Flash 手机上是这样。我还有一部较旧的 LG Quantum 手机,它在后台代理运行时似乎可以正常工作 - 至少在插入时是这样。我现在正在尝试它,但没有插入,看看这是否会导致行为差异。

(更新:如果三星 Flash Focus 已插入(充电),它还会在后台代理启动时提供 wi-fi 访问,从而解释了三星和 LG Quantum 之间的行为差​​异。

所以,现在剩下的唯一问题是“当后台代理启动且未插入时,如何强制手机打开 wi-fi?” )

我使用NetworkInterface.GetIsNetworkAvailable()的方法来测试后台代理启动时wi-fi网络或任何网络是否可用,也使用

DeviceNetworkInformation.ResolveHostNameAsync(
                    new DnsEndPoint("microsoft.com", 80),
                    NameResolutionCallback,
                    null);

确定实际使用的是哪个网络。

【问题讨论】:

  • 这和安卓有关吗?在这种情况下,您可以对其进行编辑以包含 android 标记。此外,我认为这里问的不是很清楚......

标签: networking background wifi agent


【解决方案1】:

在 Windows Phone 7 上,WiFi 仅在以下条件之一为真时才会保持:

  • 交流电源
  • 背光开启
  • 数据活动

现在,我相信一些应用程序有办法欺骗数据活动(我认为是关于背景音频),但我不知道该怎么做。

见:http://lumiatips.com/keep-wifi-alive-for-windows-phone-homebrew.html

【讨论】:

    【解决方案2】:

    我认为你想要的是让后台代理每 30 分钟左右运行一次。如果这是正确的,那么恐怕没有办法做到这一点。当设备处于非活动状态时,windows phone 不会安排后台代理来节省电池。这是一个很好的设计。

    但是,一旦您触摸电源按钮并进入锁定屏幕,您的应用程序的后台代理应该会在 2 到 3 秒左右运行。这在大多数情况下都可以达到目的。

    一般后台代理在拨打网络电话时,打开网络是Wifi或蜂窝。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多