如何在Android上监听呼叫断开连接?

时间:2014-05-03 03:20:10

标签: android broadcastreceiver telephonymanager

我正在试图弄清楚当呼叫断开时如何通知 - 传入和传出。目的是在呼叫断开时启动一些东西。

我查看了telephnyManager page,我可以看到getCallState(),但是查看所有常量,我看不到任何类似于我正在寻找的内容。

我猜我需要设置一个广播接收器 - 我只是不确定我在听什么......

感谢您的帮助!!

2 个答案:

答案 0 :(得分:0)

如果有人正在寻找答案,这里是代码(你永远不知道该链接什么时候会死!)。这不是完整的代码,但它是将监听呼叫更改的代码。在第一次阅读文档时我没有得到的是获得CALL_STATE_IDLE响应,意味着之前的连接现在处于空闲状态 - 即呼叫已断开连接。

import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;

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: return "Idle";
                case TelephonyManager.CALL_STATE_OFFHOOK: return "Off hook";
                case TelephonyManager.CALL_STATE_RINGING: return "Ringing";
            }
            return Integer.toString(state);
        }
    }

答案 1 :(得分:-1)

请尝试 link

它有一些关于android.telephony包的文档

希望这会对你有所帮助