在android中获取呼叫接收事件

时间:2013-05-02 11:26:46

标签: android phone-call

我可以通过编码获取Android中的来电接听和结束通话事件吗?我希望当我收到来电时,应该显示吐司信息。就像来电一样,当我们结束通话时,我想要那个应该在我的app中显示toast信息。请建议我。

2 个答案:

答案 0 :(得分:4)

如果您只想在应用程序的一个活动中使用它,那么请使用以下代码:

PhoneStateListener phoneStateListener = new PhoneStateListener() {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {

            if (state == TelephonyManager.CALL_STATE_RINGING) {
                // Incoming call: Pause music
                Log.i("Phone", "Ringing");

            } else if (state == TelephonyManager.CALL_STATE_IDLE) {


                Log.i("Phone", "Idle");
            } else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
                // A call is dialing, active or on hold
                Log.i("Phone", "offhook");

            }
            super.onCallStateChanged(state, incomingNumber);
        }
    };

或者,如果您想在应用程序之外显示吐司前夕,请尝试制作service

有一些很好的服务教程可用。

首先阅读开发人员的this

并查看此tutorial

答案 1 :(得分:0)

您需要使用BroadcastReceiver。试试这个tutorial