NanoHTTPD を介して実装された Android デバイス用の HTTP サーバーを作成しています。
私の目標は、画面がオフの場合でもデバイスが着信接続を許可するようにすることです。
アプリをメモリに保持し、バックグラウンドで実行できると考えて、永続的な通知で小さなことから始めました。デバイスをロックした後、約 1 分間放置しない限り、デバイスが提供する Web ページをナビゲートし続けることができました。一度やると、完全に反応しなくなります。
CPU の部分的なウェイクロックを含めて試行をエスカレートしましたが、違いはありませんでした。次に、無線をオンにしておくために完全な WifiLock を追加し、最後に、必死になって MulticastLock を追加しました (無線が接続をリッスンし続けるのではないかと思いました)。それでも、約 1 分間接続が行われなかった後、これらすべてのロックがあっても、デバイスは応答を停止します。
デバイスが着信接続をリッスンし続けるためにできることはありますか? 定期的なリクエストでデバイスをヒットすると、デバイスが目覚めたままになるようです...どうにかしてこの動作をプログラムでエミュレートできますか? 方法が思いつきません。
ありがとう!
編集:この質問の目的のために、バッテリーの消耗は無視できます。
編集: NanoHTTPD もサービスとして実行されています。