Android 在通话中播放闹钟

Android 在通话中播放闹钟,android,audio,call,Android,Audio,Call,我正在创建一个必须播放声音的应用程序。如果手机正在响或正在通话,我想在耳机中播放声音。只有在屏幕打开的情况下,下面的代码才能正常工作,但在通话中,当我把手机放在耳朵里时,屏幕就会关闭,我的“闹钟”就不会响了。有什么提示吗 TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); int state = tm.getCallState();

我正在创建一个必须播放声音的应用程序。如果手机正在响或正在通话,我想在耳机中播放声音。只有在屏幕打开的情况下,下面的代码才能正常工作,但在通话中,当我把手机放在耳朵里时,屏幕就会关闭,我的“闹钟”就不会响了。有什么提示吗

TelephonyManager tm =  (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
                int state = tm.getCallState(); 
                mMediaPlayer.setLooping(true);
                if(state == TelephonyManager.CALL_STATE_OFFHOOK || state == TelephonyManager.CALL_STATE_RINGING){
                    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
                    mMediaPlayer.setScreenOnWhilePlaying(true);
                    audioManager.setSpeakerphoneOn(false); 
                audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true);
                    audioManager.setMode(AudioManager.MODE_IN_CALL);
                    Log.d("GOFC","Tocando ou fora do gancho");
                } else {
                    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
                    vibrator.vibrate(pattern, 1);
                    Log.d("GOFC","Normal");
                }
                mMediaPlayer.prepare();
                mMediaPlayer.start();

您可能需要使用WakeLock。您应该在拿起手机获取
唤醒锁
和挂起手机释放
唤醒锁
时监听事件


不过,这只是一个猜测

只是想澄清一下,如果手机当前正在通话且屏幕处于打开状态,您的闹钟会正常工作,但如果您当前正在通话且屏幕处于关闭状态,则不会正常工作?是的。当我把手机放在耳朵里的时候,我的屏幕就会关闭(有一个传感器可以做到这一点)。我能听到闹钟把我的手机放在桌子上的声音。我试着用WakeLock,但没用。即使使用WakeLock,我的屏幕也没有打开。