Handling incoming calls in Android

后端 未结 2 1729
我在风中等你
我在风中等你 2021-01-26 13:20

I want to handle incoming call in Android.
Actually I want to set a time duration in which if my cell phone receive any call then automatically a message send to each of the

相关标签:
2条回答
  • 2021-01-26 13:49

    Just extend your class to PhoneStateListener and override onCallStateChanged method. Sample code:

    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);
    
            }
        }
    
    0 讨论(0)
  • 2021-01-26 13:58

    You need to declare PhoneStateListener in your Activity or 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);
        }
    };
    

    And add following permission to AndroidManifest.xml:

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

    Hope this helps.

    0 讨论(0)
提交回复
热议问题