У меня есть приложение, которое использует фоновый агент для доступа к сети и локальной сети через Wi-Fi, а не через сотовую связь.Когда телефон заблокирован, сеть Wi-Fi недоступна при работе фонового агента - по крайней мере, на телефоне Samsung Focus Flash.У меня также есть старый телефон LG Quantum, который, кажется, работает нормально, когда фоновый агент работает - по крайней мере, когда он подключен. Сейчас я пробую его без подключения, чтобы увидеть, объясняет ли это разницу в поведении.
(ОБНОВЛЕНИЕ: ЕСЛИ Samsung Flash Focus подключен (заряжается), он также обеспечивает доступ к Wi-Fi при запуске фонового агента, что объясняет разницу в поведении между Samsung и LG Quantum.
Итак, теперь ЕДИНСТВЕННЫЙ оставшийся вопрос: «Как заставить телефон включить Wi-Fi, когда фоновый агент запускается, и он НЕ подключен?»)
Я использую метод NetworkInterface.GetIsNetworkAvailable()
, чтобы проверить, доступна ли сеть Wi-Fi или любая другая сеть при запуске фонового агента, а также использовать
DeviceNetworkInformation.ResolveHostNameAsync(
new DnsEndPoint("microsoft.com", 80),
NameResolutionCallback,
null);
, чтобы определить, какая сеть фактически используется.