1

我有一个播放音频的应用程序。问题是,当我在与应用程序交互时接到电话时,音频会继续播放。这成为一个问题,因为音频很难理解这个人在说什么。当用户正在通话时,是否有任何方法被调用?这样我就可以在那里静音我的音频。我已经彻底研究了活动生命周期,但找不到任何可以帮助我解决这个问题的东西。我非常感谢您的所有专家建议。

我试图将此代码放入我的 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();
            }

但接下来最奇怪的事情发生了。当我拨打我的电话时,我正在拨打的电话说我无法拨打我的电话。我很困惑现在该做什么,我真的很感谢你的时间。

谢谢,

富有的

4

0 回答 0