0

さて、私は私の問題が何であるかを説明しようとします。ここブラジルでは、通常の電話をかけることができ、受信者が料金を支払います。つまり、A が B に電話をかけ、B が電話を選択した場合、彼に電話した人ではなく、彼が支払います。
A がこの方法で B にコールする場合、B の実番号の前に番号を付ける必要があります。つまり、B の電話番号が 55555555 の場合、A は次のように彼に電話する必要があります: 909055555555.

着信で確認すると、何の情報もなく通常のAの番号しか表示されません。この種の呼び出しを検出する方法を知っている人はいますか?

4

1 に答える 1

0

このリンクを試してください

http://www.krvrma.com/2010/08/detecting-incoming-and-outgoing-calls-in-android/

基本的に、android.intent.action.PHONE_STATEインテントに登録し、 EXTRA_INCOMING_NUMBERのインテントの追加をチェックして、 誰があなたにダイヤルしているかを取得します。(あなたのJavaコードを見て、数字を見て、意思決定をしてください。)

リンクには、

TelephonyManager.EXTRA_INCOMING_NUMBER。この変数には、着信電話番号が含まれます。状態が TelephonyManager.EXTRA_STATE_RINGING でない場合、この変数は存在しないことに注意してください。

アプリケーションが番号を検出するために、ユーザーが通話に応答する必要があると仮定します。

アップデート

あなたの質問がよくわかりました。9090* 番号から実数への変換は、携帯電話会社によって行われているようです。あなたの電話は 2 つの通話の違いを認識しないため、それを検出する方法はないと思います。それらを同じ呼び出し元と見なします。携帯電話会社に相談すると、より良い答えが得られる場合があります。

于 2012-08-12T02:43:07.040 に答える