USBホストモードを使用してAndroidアプリとインターフェースしているUSBデバイスがあります。デバイスは、約 10 秒ごとに一部のデータを送信しますが、場合によっては (優先度の高いデータ)、データはいつでも送信される可能性があります。Android アプリ側では、USB ホスト モード API を使用してデータを読み取るサービスがあります。私のAndroidアプリはデータを処理し、データをUSBデバイスに書き戻します。Androidデバイスがスリープ状態になるまで、すべて正常に動作します。サービスが一時停止し、すべての通信が停止します。部分的な wake lock を使用して CPU の実行と通信を維持できること、およびそれがバッテリーに大きな影響を与えることを理解しています。私は2つの質問があります:
USBデバイスはいつでもデータを送信できるため、特に優先度の高いデータがいつでも送信される可能性があるため、Androidサービスを常に有効にする必要があります。これは、部分的な wake lock を取得し、決して解放しないことを意味する可能性があります。これが許可されているかどうかをドキュメントで見つけることができませんでした。許可されている場合、バッテリーの消耗以外にどのような影響がありますか?
USB ホスト モード API またはその他の API は、別の潜在的に優れたソリューションを提供しますか?
このアプリはユーザーが限定されたカスタム アプリであるため、バッテリーの消耗は大きな問題ではありません。注意する必要がある他の問題があるかどうか、またはそれを行うためのはるかに良い方法があるかどうかを理解したいだけです.