Доступ в Интернет в длительной фоновой задаче

Доступ в Интернет в длительной фоновой задаче
На чтение
3 мин.
Просмотров
19
Дата обновления
11.11.2024

В моем приложении для Windows Phone 10 у меня есть длительная фоновая задача, запускаемая RfcommConnectionTrigger. Эта задача будет выполняться, пока мое устройство Bluetooth Rfcomm подключено.

Теперь я хочу достичь следующего:

  • Устройство Bluetooth отправляет некоторые данные в приложение на телефоне (работает)
  • Телефон ищет значение с помощью HTTP-запроса (не работает)
  • Телефон отправляет результат обратно к устройству Bluetooth (работающему)

Проблема с №2 в том, что как только я блокирую устройство, все HTTP-запросы по какой-то причине перестают работать. Я просто использую System.Net.Http.HttpClient для выполнения запроса, там ничего особенного не происходит. В частности, исключение создается в HttpClient.SendAsync .

Как обойти это ограничение?


Я нашел решение. Кажется, это полностью недокументированная «функция» — вам нужно добавить условие SystemConditionType.InternetAvailable к вашей фоновой задаче, чтобы разрешить ей использовать Интернет, когда устройство заблокировано. Я надеюсь, что это не означает, что когда телефон теряет доступ к Интернету, фоновая задача прекращается.

Это также означает, что теперь телефон должен быть подключен к Интернету, чтобы запустите фоновую задачу, которая все еще раздражает, но я думаю, что смогу с этим жить.



0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий