我有一个播放音频的应用。问题是,当我在与应用程序交互时接到电话时,音频继续播放。这成为一个问题,因为音频使得很难理解这个人说的是什么。 当用户正在通话时是否有任何方法被调用?这样我可以在那里静音我的音频。我已经彻底研究了活动生命周期,但找不到任何可以帮助我解决这个问题的方法。我非常感谢您的所有专家建议。
我试图将此代码放入我的BaseActivity中,后者将被所有其他活动扩展:
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
//Incoming call: Pause music
TwentySeconds.stopTimer();
Intent i = new Intent(BaseActivity.this, FinishedBeforeTimer.class);
startActivity(i);
Toast.makeText(BaseActivity.this, "INCOMING CALL", Toast.LENGTH_SHORT).show();
} else if(state == TelephonyManager.CALL_STATE_IDLE) {
//Not in call: Play music
} else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
//A call is dialing, active or on hold
TwentySeconds.stopTimer();
Intent i = new Intent(BaseActivity.this, FinishedBeforeTimer.class);
startActivity(i);
Toast.makeText(BaseActivity.this, "DIALING", Toast.LENGTH_SHORT).show();
}
然而最奇怪的事情发生了。当我拨打我的电话时,我打电话的电话说我无法拨打电话。我对现在该做什么很困惑,我非常感谢你的时间。
谢谢,
富