2

番号をダイヤルした後にいくつかのイベントを検索したいと考えています。つまり、宛先側で、コールが受け入れられたか、拒否されたか、ビジーか、または到達不能であるかです。Androidでこれらのイベントを見つける方法。android.TelephonyManager でいくつかの API を見つけましたが、IN_COMMING_CALL 用のものです。そして、番号をダイヤルした後、BroadcastReceiver() を使用してイベントを検索しています。コードの一部は、

public void onReceive(Context context, Intent intent) {
    System.out.println("before if condition");
        if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
            System.out.println("**outgoingcall***");
        }       
};

コールが受け入れられたか、拒否されたか、宛先デバイスでビジーであるかを確認できません。アンドロイドでのoutinging_call中にこれらのイベントを見つけるためのネットワークベースのAPIはありますか? 私を助けてください

また、PhoneStateListener を使用しました。コードは次のとおりです。

private class ListenToPhoneState extends PhoneStateListener {

    public void onCallStateChanged(int state, String incomingNumber) {
        Log.i("telephony-example", "State changed: " + stateName(state));
    }

    String stateName(int state) {
        switch (state) {
            case TelephonyManager.CALL_STATE_IDLE: 
            System.out.println("phone is idle****");
            break;  
            case TelephonyManager.CALL_STATE_OFFHOOK: 
            System.out.println("phone is offhook****");
            break;  
            case TelephonyManager.CALL_STATE_RINGING:
            System.out.println("phone is Ringing***");
            break;  
        }
        return Integer.toString(state);
    }
}

しかし、私は Outgoing_call でイベントを取得していません..ありがとうshiv

4

1 に答える 1

0

PhoneStateListenerを使用するか、 ACTION_PHONE_STATE_CHANGEDブロードキャスト インテントを監視します。

于 2011-11-22T13:10:40.190 に答える