Андроид HTTP-сервер недоступен с других устройств в сети с перерывами

Я использую NanoHTTPD для представления веб-сервера в приложении для Android. Я использую wifi-блокировку, чтобы поддерживать сеть в сети, и блокировку процессора, чтобы поддерживать процессор в состоянии готовности, и поддерживая его при запуске переднего плана, чтобы он никогда не умирал.

Я нахожу, что он будет доступен с других устройств в течение получаса, а затем не будет доступен в течение получаса. Всякий раз, когда это становится недоступным, я могу открыть сафари на устройстве Android и перейти к 0.0.0.0:30000 и убедиться, что сервер действительно запущен. И я также проверю, чтобы убедиться, что Wi-Fi подключен, каким он кажется.

Любые предложения о том, где искать?

Solutions Collecting From Web of "Андроид HTTP-сервер недоступен с других устройств в сети с перерывами"

Я не знаю, почему именно он прекратил работать. Есть способы сохранить работу службы, но попробуйте эту строку кода в вашей деятельности onCreate, если это может помочь вам

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

Отладочные предложения

Когда это станет недоступным, вы можете проверить, действительно ли работает сетевое соединение? Он не просто отображается как «подключенный» в пользовательском интерфейсе, но фактически работает с HTTP-соединениями с удаленными серверами. Ваш локальный HTTP-сервер внезапно становится доступным с удаленного компьютера, когда вы это делаете? Во время выталкивания вы можете смотреть ваш сервер удаленно:

 watch curl http://{android_ip}:3000/ 

Вы держите экран включен или экран выключается? Это может быть неудачная реализация PowerLock.

Это происходит с другими беспроводными маршрутизаторами? Это может быть проблемой с Wifi Power Save Mode (PSM).