質問

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ボタンダウンコマンドを送信していましたが、ボタンアップコマンドを送信しませんでした。電話は基本的にこれを再生ボタンが「抑制されている」と見なされていたので、放送を送信し続けました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top