我正在为 Android 设备编写一个 HTTP 服务器,通过 NanoHTTPD 实现。
我的目标是让设备即使在屏幕关闭的情况下也允许传入连接。
我从小处着手,使用持久通知,认为这将使我的应用程序保留在内存中并在后台运行。锁定设备后,我可以继续浏览它提供的网页,只要我不离开它大约一分钟。一旦我这样做,它就会完全停止响应。
我通过包含 CPU 部分唤醒锁来升级我的尝试,这没有任何区别。然后我添加了一个完整的 WifiLock 来保持收音机打开,最后,绝望地添加了一个 MulticastLock(我想也许它会让收音机继续监听连接)。尽管如此,在大约一分钟内没有建立任何连接后,即使有所有这些锁,设备也会停止响应。
我可以做些什么来让设备监听传入的连接?似乎用定期请求击中设备使其保持清醒......我可以以某种方式以编程方式模拟这种行为吗?我想不出办法。
谢谢!
编辑:就这个问题而言,可以忽略电池消耗。
编辑:NanoHTTPD 也作为服务运行。