5

私のアプリケーションでは、発信通話を開始し、PhoneStateListener を使用して通話状態を把握しています。

通話を開始するたびに、電話の状態はTelephonyManager.CALL_STATE_OFFHOOKです。通話の受信者が通話に応答したとき、電話の状態に変化がありません。

私は多くのことを試しましたが、この回答済みの状態を取得できませんでした。Bluetooth の HFP (Hands Free Profile) を使用して通話応答状態を取得するように言われた人がいます。しかし、Android 開発者の Web サイトから HFP に関する情報は得られませんでした。

誰かが同じ問題に直面して解決策を得た場合は、貴重な提案をお願いします。

4

3 に答える 3

1

CALL_STATE_OFFHOOK受信者が通話に応答しても、 は変化しません。

デバイスの通話状態: オフフック。ダイヤル中、アクティブ、または保留中のコールが少なくとも 1 つ存在し、呼び出し中または待機中のコールはありません。

応答があるかどうかにかかわらず、電話が通話中である限り状態は変化しません。

この質問は多くの項目で尋ねられましたが、これまでのところ、私が見つけたものはどれも解決されていません。Android : 発信呼び出しに応答した状態を取得する方法は? (他にもたくさんあります)。そこで提供されるソリューションは、通話に応答したときに状態が変化することに依存していCALL_STATE_OFFHOOKますが、これは起こりません。

発信通話の状態を取得するために使用できるパブリック API はないようです。私が見る最善の回避策は、Vivek Khandelwal が提案したものです。コーディングにそれほど時間がかからず、パフォーマンスのオーバーヘッドも大きくありません。あまりにも多くの権限を追加することが問題にならない限り (ここで追加する必要がありますREAD_CALL_LOGS)、それを使用してください。

于 2012-12-19T09:37:41.030 に答える
0

私も同じ問題を抱えていました。これはあなたの質問に対する答えではないかもしれません。私は自分がしたことを共有しているだけです。

連絡先を開いて電話をかけることができるアクティビティがありました。私が欲しかったのは、呼び出しが成功したかどうか (つまり、受信者が呼び出しに応答したかどうか) を知ることです。

その時点で PhoneStateListener を使用して見つけた解決策はありませんでした。

回避策として、連絡先アクティビティの開始後にその連絡先の電話番号への発信があるかどうか、通話ログを確認しました。

彼の助けを参照してください。

于 2012-12-19T09:24:19.430 に答える
0

ブルートゥースに特有の何かが欲しいですか?それ以外の場合は、ソースを提供できます

于 2012-12-19T09:25:46.227 に答える