6

ヘッドセット/ヘッドフォン/カー ステレオなどの Bluetooth デバイスのサポートを Android アプリに追加して、ユーザーが SIP/VoIP 通話を行えるようにしようとしています。私は主に、Bluetooth ヘッドセットのボタンを使用して通話の応答と終了の要件に対処しようとしています。他のボタン/機能の処理はあるとよいでしょう。

私が行った検索とこれまでに読んだすべてのテキストで、次のことに出くわしました-

  • どこでも提案されている一般的な方法の 1 つは、に登録することACTION_AUDIO_STATE_CHANGEDです。しかし、これは本当に私を助けません。そのためのインテントは、Bluetooth ヘッドセットのボタンが押されるたびに送信されます。また、Bluetooth ヘッドセットで呼び出し音を開始するときにも送信されます。
  • 私が見つけた非常に一般的な解決策は、Bluetooth Adapter クラスの使用でした。あなたがそれでできることはあまりありません。だからまた役に立たない。
  • 私が遭遇した別のアプローチは、ベンダー固有のヘッドセット イベントの使用です。いくつかの努力の後、特定の Plantronics Bluetooth ヘッドセットでこれを機能させることができました。Jabra をサポートすることは重要です。
  • 私が遭遇したもう 1 つのアプローチは、電話アプリと同じ方法で IBluetoothHeadsetPhone.aidl をバインドすることです。それに関する情報はほとんど見つかりませんでした。先に進んで何かを実装するのに十分ではありませんでした。

誰かがそのようなことをした場合、私が直面している問題は珍しいものではないと思います.それは十分に文書化されていないと思います. 任意のポインタ、アプローチ、リンクをいただければ幸いです。

私が試した他のアプローチを見つけたら、さらに情報を追加しようとします。私が試した解決策についてさらに必要な場合は、詳細をお尋ねください。また、質問にフラグを立てるだけでなく、変更を提案してください。前もって感謝します。

4

1 に答える 1

5

投稿が遅くなり申し訳ありません。この問題の解決策を見つけることができました。単純な修正ではありません。

Android テレコム フレームワークから ConnectionService を使用する必要があります。このリンクをチェックしてください ここ&ここ. この後、VoIP 通話にはセルラー通話のような処理が行われます。

于 2018-11-03T06:00:40.590 に答える