当由被叫用户接收到的呼出的Andr​​oid检查 [英] Android check when outgoing call is received by callee

查看:118
本文介绍了当由被叫用户接收到的呼出的Andr​​oid检查的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发的Andr​​oid框架,

I'm developing on android framework,

我想在由被叫方接收的呼出呼叫到触发事件,以及当所述呼叫结束(在任何双方)

I want to fire an event when an outgoing call is received by the callee , and also when the call is ended (from any of the two sides)

推荐答案

中序知道wheter主叫方已收到呼叫时,您将需要创建一个监听器。

Inorder to know wheter the calling party has recieved the call, you will need to create a listener.

class PhoneInfo extends BroadcastReceiver {
/**
 * Getting the System Telephony Service and registering a listener for Voice Call state
 */
@Override
public void onReceive(Context context, Intent intent) {
    IncomingCallListener phoneListener = new IncomingCallListener();
    TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
    telephony.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE);
}

class IncomingCallListener extends PhoneStateListener {

    public void onCallStateChanged(int state, String incomingNumber) {
        Log.i(logcat,"CALL_STATE changed " + callflag);

        switch (state) {
        case TelephonyManager.CALL_STATE_IDLE:
            Log.i(logcat,"CALL_STATE_IDLE");
                                    //This is where call ends.
            break;

        case TelephonyManager.CALL_STATE_OFFHOOK:
                                    //This is where we know call is established
            break;

        case TelephonyManager.CALL_STATE_RINGING:
            Log.i(logcat,"CALL_STATE_RINGING");
            break;
        }


    }

}

与作为你的活动注册此
phoneInfo =新PhoneInfo(本);
registerReceiver(phoneInfo,新的IntentFilter(Intent.ACTION_NEW_OUTGOING_CALL));

使用日志现在ü可以看到呼叫时拨打或接收状态被改变。

Now with Logs u can see how states are changed when a call is dialed or received.

这篇关于当由被叫用户接收到的呼出的Andr​​oid检查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆