また、アプリに音量ボタンの押下検出を実装しようとしていましたが、コア部分が完了したら、後でその部分を開発するために残しました。バックグラウンドサービスから、電話がロックされているときでも画面がオンのときに音量キーが押されたことを検出できました。
バックグラウンドビデオレコーダー2(BVR2)(および可能性のあるBVR1も、私は試していません)は、画面がオフの場合でも音量キーの押下を検出できるアプリの1つです。アプリで画面がオフのときに音量キーの検出を実装しようとしているときに、BVR2をインストールして、どのように機能するかを確認しました。驚いたことに、画面がオフのときでも音量キーを検出できるようになりました。私のアプリには音量の変化を監視するContentObserverがありましたが、画面がオフのときは機能しませんでした。BVR2がアクティブな場合、画面がオフのときにアプリが音量キーの押下を検出することもあります。まだ掘っています。
ただし、BVR2には独自のトリガーアクションがあります。つまり、ビデオを録画することです。これは、アプリケーションが音量キーの押下を検出するためだけに実行したくないアクションです。
もう1つのアプリはQuickClickです。このアプリは、アプリに欠けているもの、画面がオフの場合でも音量キーの押下を検出する機能を、余分な不要なアクションなしで提供できます。QuickClickをインストールするだけで、アクションを構成しないでください。ストリームボリュームの変更を監視するためのを作成するContentObserver
と、準備が整います。これで、画面がオフの場合でも、アプリで音量キーの押下を検出できるようになります。
私のアプリはバックグラウンドサービスとして実行されていることに注意してください。
上記の両方のアプリは他の用途を対象としていますが、ボリュームキー検出を使用してアクションを実行します。私は言及されたアプリのいずれにも接続していません。
これらのアプリ、および場合によっては他の数十のアプリが音量キーの押下を検出できる場合は、それを実行できます。別のアプリに依存せずにアプリに実装できるように、専門家にその方法を教えてもらいます。
この回答が役に立った場合は、賛成票を投じてください。