4

自動的に電話に出るアプリをプログラミングしています。問題は、私がすでに電話をかけていて、誰かが鳴っている場合は、応答しないはずだということです。それを達成する方法はありますか?

ドキュメントによると、ステータスを確認すると、TelephonyManagerそうではCALL_STATE_RINGINGありませんCALL_STATE_OFFTHEHOOK

電話の状態の変化に応じてtrueに設定される変数を追加して、通話が進行中であることを確認する必要がありますか、それともより良い解決策がありますか?

ありがとう!

/ edit:許可なく電話にModify_Phone_State出たので、すでに電話がかかっているかどうかを確認するだけです。

4

2 に答える 2

1

あなたの質問はアンドロイド標準の軌道から外れているので、通話状態の追跡は最良の方法です。

あなたの質問に対する公式の答えはありません:

Android APIでは、サードパーティのアプリケーションプロバイダーが電話に応答する公式の方法はありません
。1:文書化されていないAPIを使用する必要があるためです。
2:リクエストMODIFY_PHONE_STATE権限は、2.3以降、ルート化された/システム署名されたアプリケーションでのみ使用できます

したがって、質問に対して効率的な(コードの組み込み)有効な回答が存在する場合、すべてのメーカー/モデルデバイスで正式に機能するとは限りません。

Gingerbreadで実行されたアプリにMODIFY_PHONE_STATE権限を付与する方法の詳細

于 2011-11-22T19:39:02.693 に答える
1

さて、これを理解する方法が明らかにないので、StateがOFFTHEHOOK(true)になるとすぐに、SharedPreferenceにブール値を格納しました。

状態がに変わるとき、IDLEブール値をfalseに設定します。つまり、RINGING誰かがすでに呼び出しているときにが起動された場合、変数がtrueであることを読み取り、次のアクションを破棄します。

電話に出る方法の詳細については、AutoAnswerプロジェクトをご覧ください。

于 2011-11-23T18:28:55.897 に答える