PhoneStateChangeListener l = new PhoneStateChangeListener(); TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVI CE); tm.listen(l, PhoneStateListener.LISTEN_CALL_STATE); public class MyListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch(state){ case TelephonyManager.CALL_STATE_RINGING: //… case TelephonyManager.CALL_STATE_OFFHOOK: //… case TelephonyManager.CALL_STATE_IDLE: //… } } } http://stackoverflow.com/questions/9684866/how-to-detect-when-phone-is-answered-or-rejected
PhoneStateChangeListener l = new PhoneStateChangeListener(); TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVI CE); tm.listen(l, PhoneStateListener.LISTEN_CALL_STATE); public class MyListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch(state){ case TelephonyManager.CALL_STATE_RINGING: //… case TelephonyManager.CALL_STATE_OFFHOOK: //… case TelephonyManager.CALL_STATE_IDLE: //… } } } http://stackoverflow.com/questions/9684866/how-to-detect-when-phone-is-answered-or-rejected
PhoneStateChangeListener l = new PhoneStateChangeListener(); TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVI CE); tm.listen(l, PhoneStateListener.LISTEN_CALL_STATE); public class MyListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch(state){ case TelephonyManager.CALL_STATE_RINGING: //… case TelephonyManager.CALL_STATE_OFFHOOK: //… case TelephonyManager.CALL_STATE_IDLE: //… } } } http://stackoverflow.com/questions/9684866/how-to-detect-when-phone-is-answered-or-rejected
PhoneStateChangeListener l = new PhoneStateChangeListener(); TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVI CE); tm.listen(l, PhoneStateListener.LISTEN_CALL_STATE); public class MyListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch(state){ case TelephonyManager.CALL_STATE_RINGING: //… case TelephonyManager.CALL_STATE_OFFHOOK: //… case TelephonyManager.CALL_STATE_IDLE: //… } } } http://stackoverflow.com/questions/9684866/how-to-detect-when-phone-is-answered-or-rejected
PhoneStateChangeListener l = new PhoneStateChangeListener(); TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVI CE); tm.listen(l, PhoneStateListener.LISTEN_CALL_STATE); public class MyListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch(state){ case TelephonyManager.CALL_STATE_RINGING: //… case TelephonyManager.CALL_STATE_OFFHOOK: //… case TelephonyManager.CALL_STATE_IDLE: //… } } } http://stackoverflow.com/questions/9684866/how-to-detect-when-phone-is-answered-or-rejected
PhoneStateChangeListener l = new PhoneStateChangeListener(); TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVI CE); tm.listen(l, PhoneStateListener.LISTEN_CALL_STATE); public class MyListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch(state){ case TelephonyManager.CALL_STATE_RINGING: //… case TelephonyManager.CALL_STATE_OFFHOOK: //… case TelephonyManager.CALL_STATE_IDLE: //… } } } http://stackoverflow.com/questions/9684866/how-to-detect-when-phone-is-answered-or-rejected
AudioManager. OnAudioFocusChangeListener • Interface definition for a callback to be invoked when the audio focus of the system is updated • Added in API level 8
Audio Focus • AUDIOFOCUS_GAIN • unknown duration • AUDIOFOCUS_GAIN_TRANSIENT • a short amount of time • AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE • ≒AUDIOFOCUS_GAIN_TRANSIENT • a short amount of time, during which no other applications, or system components, should play anything. • AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK • ≒AUDIOFOCUS_GAIN_TRANSIENT • other audio applications to keep playing after having lowered their output level
@Override public void onAudioFocusChange(int focusChange) { switch (focusChange) { case AudioManager. AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: // Lower the volume case AudioManager. AUDIOFOCUS_GAIN: // Raise it back to normal } }