处理Android中的来电

时间:2011-04-19 12:40:15

标签: android phone-call

我想处理Android中的来电 实际上我想设置一个持续时间,如果我的手机接到任何电话,那么会自动向每个电话发送一条消息。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

只需将您的课程扩展到PhoneStateListener并覆盖onCallStateChanged方法即可。示例代码:

class myCallListener extends PhoneStateListener{

        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            // TODO Auto-generated method stub
            switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                    // your logic here
                break;

            default:
                break;
            }

            super.onCallStateChanged(state, incomingNumber);

        }
    }

答案 1 :(得分:0)

您需要在PhoneStateListenerActivity中声明Service

PhoneStateListener phoneStateListener = new PhoneStateListener() {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        if (state == TelephonyManager.CALL_STATE_RINGING) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_IDLE) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
            ....
        }
        super.onCallStateChanged(state, incomingNumber);
    }
};

并向AndroidManifest.xml添加以下权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

希望这有帮助。