3

私のアプリケーション開発では、発信通話が接続されたときにバイブレーションを行う必要がありますが、通話応答状態を取得できません。この質問に関する次のようなトピックを読みました: 発信通話ステータス

しかし、実際には、これらの質問に正しく答えることはできません。BroadcastReceiver を使用すると、アイドル状態、オフフック状態、呼び出し状態のみを受信できますが、アクティブ状態は受信できません。

内部フレームワークの Call.java で定義されたアクティブな状態ですが、この状態を取得する方法がわかりません。https://stackoverflow.com/questions/5652660/accessing-callmanager-in-androidとほぼ同じリフレクション メソッドを使用しましたが、失敗しました。

4

2 に答える 2

0

発信通話では試したことはありませんが、着信通話では、あなたが言及した 3 つの状態で遊ぶことができます。

  1. STATE_RINGING: 呼び出し中です。
  2. STATE_OFF_HOOK: 前の状態が RINGING の場合、通話が接続されました。
  3. STATE_IDLE: 前の状態が RINGING の場合: 通話が拒否されました。前の状態が OFF_HOOK コールが接続されてから切断された (つまり、完了した) 場合。

着信通話用のこの実装のコードがあります。発信通話でもこれらの状態にアクセスできると述べたので、これは発信通話でも機能するはずです。必要に応じて、コードを投稿できます。

于 2012-06-14T12:24:19.040 に答える
-1

疑問に思い、ネットで多くの時間を費やした後、これを達成する方法を見つけました...

最後にダイヤルした通話の時間に基づいてデバイスの通話履歴を照会し、その通話時間を取得します。0 より大きい場合は、通話が受け入れられたことを意味し、完全に機能します。

誰かがそれを取得できない場合は、コードで詳しく説明します。

于 2013-01-14T11:34:19.053 に答える