我有一个应用程序,它使用后台代理通过Wi-Fi访问网络和本地网络 - 而不是蜂窝网络。当手机锁定时,后台代理运行时无法使用Wi-Fi网络 - 至少在Samsung 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);
确定实际使用的网络。
答案 0 :(得分:0)
在Windows Phone 7上,只有在满足下列条件之一时,WiFi才会停留:
现在,我相信某些应用程序有办法欺骗数据活动(我认为有关背景音频的内容),但我不知道该怎么做。
请参阅:http://lumiatips.com/keep-wifi-alive-for-windows-phone-homebrew.html
答案 1 :(得分:0)
我认为你想要的是让后台代理每30分钟左右运行一次。如果这是正确的,那么我担心没有办法做到这一点。当设备处于非活动状态时,Windows Phone不会安排后台代理以节省电池电量。这是一个很好的设计。
但是,一旦触摸电源按钮并获得锁定屏幕,应用程序的后台代理程序应在2-3秒左右运行。这大部分时间都是有用的。
通常后台代理在拨打网络电话时,打开网络就是Wifi或手机。