AVRCP Playコマンドを送信し、ブロードキャストでスパムされます
-
24-10-2019 - |
質問
Bluetooth接続時にAVRCP Playコマンドを電話に送信するハードウェアがいくつかあります。私が見ているのは、デバッガーで何度も繰り返されるMedia_Button Action Intentがスパムされていることです。これは、いくつかのアプリであるが、主にPandoraで問題を引き起こしています。 Pandoraは絶えずプレイ/一時停止します。 AVRCPコマンドが電話に送信され、Media_Buttonブロードキャストが生成され、何度も送信され続けます。
私はそれをキャッチするためにブロードキャストレシーバーを設定し、何が起こっているのかを判断しようとします。これがスパムされているものです:
01-17 12:20:04.324:error/npt:(1558):Intent {act = android.intent.action.media_button(has extras)} 01-17 12:20:04.324:(1558):(1558):(1558): keyevent {action = 0 code = 85 Repeat = 0 meta = 0 scancode = 200 mflags = 8}
これがBluetooth Play/Pause Mediaキーです。 AVRCPコマンドがこれをトリガーするように、これはそうあるべきですが、私が言ったように、OSがこれをスパムし続けるようなものです。
を使用してみました abortBroadcast()
それを止める方法ですが、それは効果がありません。放送は順序ではなく、明示的に停止できないと思いますか?
ファームウェアコードをデバッグして、AVRCPコマンドをスパムするハードウェアではないことを確認しました。ハードウェアのプラグを抜くと、スパムの動作も続きます。
2.2を使用しています。
ありがとう。
解決
これは解決されました。ハードウェアの問題であることがわかりました。 avrcp playボタンダウンコマンドを送信していましたが、ボタンアップコマンドを送信しませんでした。電話は基本的にこれを再生ボタンが「抑制されている」と見なされていたので、放送を送信し続けました。