Я разработал радиоприложение, где мне нужно приостановить радио при поступлении входящих/исходящих телефонных звонков. Я использовал PhoneStateListener, который отлично работает во всех версиях Android, кроме леденцов. Вот код, который я использовал для обработки телефонных звонков. Я пробовал использовать методы setStreamVolume и setStreamMute, но оба они, похоже, не работают на леденец. Пожалуйста, помогите мне в этом.PhoneStateListener не работает в android lollipop
Заранее спасибо.
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state,
String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING: // Incoming
// call:
// Pause
// music
if (Globals.isPlayerRunning) {
curVolume = audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC);
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC, 0, 0);
audioManager.setStreamMute(
AudioManager.STREAM_MUSIC, true);
isServiceMuteByCall = true;
}
break;
case TelephonyManager.CALL_STATE_IDLE: // Not in
// call:
// Play
// music
if (isServiceMuteByCall) {
isServiceMuteByCall = false;
audioManager.setStreamMute(
AudioManager.STREAM_MUSIC, false);
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC, curVolume,
AudioManager.FLAG_PLAY_SOUND);
}
break;
case TelephonyManager.CALL_STATE_OFFHOOK:// A call
// is
// dialing,
// active
// or
// on
// hold
if (Globals.isPlayerRunning) {
curVolume = audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC);
audioManager.setStreamMute(
AudioManager.STREAM_MUSIC, true);
audioManager.setStreamVolume(
AudioManager.STREAM_MUSIC, 0, 0);
isServiceMuteByCall = true;
}
break;
}
super.onCallStateChanged(state, incomingNumber);
}
};
if (mgr != null) {
mgr.listen(phoneStateListener,
PhoneStateListener.LISTEN_CALL_STATE);
}
вопрос, является phonestatelistener не работает или AudioManager? Пробовали ли вы несколько журналов, чтобы убедиться, что состояния телефона не прочитаны? – Opiatefuchs
@Opiatefuchs - phonestatelister не увольняется – Ramesh
@ ramesh6233 Я испытываю то же самое, нашли ли вы какое-либо решение своей проблемы? – drisse