如何检测“通话模式”android java
问题描述:
我试图检测模式,当我们在通话。我正在使用广播和telephonyManager最流行的例子。
但只有3个州。如何检测“通话模式”android java
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){
}
if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){
}
if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
}
一些测试后,我发现:
1)当输入呼叫 - 比我看到状态= RINGING - 从该状态= OFFHOOK
2),但是当IM做传出接受呼叫call - state = OFFHOOK,另一方的另一个“我”接受呼叫状态still = OFFHOOK。
如何正确检测IN_CALL_MODE(意思是即时通话在当前时间)。 ? 可以帮忙吗?
答
如何使用AudioManager?
AudioManager manager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
if(manager.getMode()==AudioManager.MODE_IN_CALL){
return true; // Active call
}
else {
return false;
}
其工作,谢谢。 – Peter
实际上它不工作。不知道我上次如何测试。 – Peter