5

私はこれを使用しています:

public void onCallStateChanged(int state, String incomingNumber)

聞いている:

telephonyManager.listen(listener,PhoneStateListener.LISTEN_CALL_STATE);

発信と着信の両方を知りたいのですが、今のところ着信のみを取得します (状態の変化が鳴っている場合)。発信コールとその終了をいつ検出できるか教えてもらえますか

また、Eclipse エミュレーターで発信呼び出しをシミュレートする方法もあります。Eclipseのエミュレーター制御を介して着信コールに対してそれを行うことができました。

4

2 に答える 2

13

android.intent.action.NEW_OUTGOING_CALLにはインテント文字列パラメータを備えたブロードキャストリスナーを使用しIntentFilter、AndroidMenifestでに許可を与えることを忘れないでくださいPROCESS_OUTGOING_CALLS。これは機能します。発信コールがあるときはいつでも、トーストメッセージが表示されます。コードは以下のとおりです。

public static final String outgoing = "android.intent.action.NEW_OUTGOING_CALL" ;
IntentFilter intentFilter = new IntentFilter(outgoing);
BroadcastReceiver OutGoingCallReceiver = new BroadcastReceiver()
{
    @Override
    public void onReceive(Context context, Intent intent) 
    {
        // TODO Auto-generated method stub
        String outgoingno = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
        Toast.makeText(context, "outgoingnum =" + outgoingno,Toast.LENGTH_LONG).show();
    }
};
registerReceiver(brForOutgoingCall, intentFilter);
于 2011-07-12T05:32:19.763 に答える