Воспроизвести будильник во время разговора - PullRequest
0 голосов
/ 24 октября 2011

Я создаю приложение, которое мне нужно для воспроизведения звука. Если телефон звонит или находится в режиме разговора, я хочу воспроизвести звук в наушниках. Приведенный ниже код отлично работает только в том случае, если экран включен, но во время разговора, когда я кладу телефон в ухо, экран отключается, и мой «будильник» не срабатывает. любой намек?

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();

1 Ответ

0 голосов
/ 24 октября 2011

Возможно, вам придется использовать WakeLock.Вы должны прислушиваться к событиям, когда телефон поднят, чтобы получить WakeLock, и когда телефон повешен, чтобы выпустить WakeLock.

Хотя это только дикое предположение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...