背景: A2DP / AVRCP bluetoothヘッドセット(Nokia BH-505)を使用しており、ポッドキャストと音楽の両方を積極的に聴いています。もちろん、私は異なるアプリでこれらを聴きます。Bluetoothヘッドセットには、オーディオに関連するいくつかの「コマンド」(AVRCP)ボタンがあります。具体的には、「次のトラック」、「前のトラック」、「再生/一時停止」
現在、コマンドを押すたびに、インストールした音楽プレーヤーの1つ(Meridian)が常にコマンドを取得します(アクティブでない場合でも)。したがって、ポッドキャスト(DoggCatcher)を一時停止するために「再生/一時停止」をクリックすると、代わりにMeridianがアクティブになり、ポッドキャストとともに音楽の再生が開始されます。
両方のプレーヤーがヘッドセットを使用するように設定されています。DoggCatcherは「ヘッドセットにバインド」をオンにし、Meridianは「ヘッドセットボタン」をオンにします。現在、GT-S5570でルート化されていないストックAndroid 2.2.1を使用していますが、将来的には2.3 CyanogenMod(またはそのような)にルート化およびアップグレードされる可能性があります。
詳細を無視して、これに関する私の質問はより一般的です:
- Androidは、これらのコマンドに反応するアプリをどのように判断しますか?非常に技術的な答えにも興味があります。
実用的な面では、私は興味があります:
- どのアプリケーションがコマンドを受け取るかを決定するために、各アプリケーション設定をいじる必要がありますか、またはこれを決定する一般的な方法はありますか?
- 実際にアクティブなアプリケーションが常に自動的に優先度を取得するようにこれを構成する方法はありますか?(別の質問で部分的に尋ねられたように)
この質問と同様の質問との違い:
「Bluetoothリモートで「再生」ボタンの動作を設定する方法」 -これまでのところ実用的で異なる焦点にしか答えがありません。また、ルート化またはカスタムファームウェア(特にCyanogenMod)を必要とする答えにも興味があります。
ヘッドセットコントロールを処理するためのデフォルトアプリケーションを変更します -修正された正確な問題ですが、私の質問に答える方法ではありませんが、動作の仕方に関するヒントを提供します。
ヘッドフォンのボタンでストックミュージックプレーヤー以外のものを制御するにはどうすればよいですか?-実用面で部分的に似た質問ですが、実際にどのように機能するかを説明することに焦点を当てず、唯一の答えは私が尋ねていない部分に焦点を当てています(1つのアプリのみにコマンドを受信させる)。
なぜすべてのサウンドアプリが一度にbluetoothボタンイベントを取得するのか -非常によく似ていますが、特定の問題について質問しています(すべてのメディアプレーヤーがAVRCPコマンドを取得しています)