0
처리 된 미디어 플레이어가 수신 및 발신 전화 서비스가 중지 된 미디어 플레이어에 대해 처리하기를 원하는 서비스가 있으며 통화 흐름이 끝나면 재생이 재개됩니다. 이제는 수신 및 발신 전화에서 재생을 중지하고 TelephonyManager를 재생하는 코드를 추가해야합니다 .CALL_STATE_IDLE : 음악이 시작되면 잠시 후 이야기하고 어떻게 고쳐야합니까?BroadcastReceiver의 수신 및 발신 전화
public class CallReceiver extends BroadcastReceiver{
TelephonyManager telManager;
Context context;
boolean startedCall = false;
@Override
public void onReceive(Context context, Intent intent) {
this.context=context;
telManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
telManager.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE);
}
private final PhoneStateListener phoneListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
try {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING: {
if(incomingNumber!=null)
{
//incoming call
MediaService.stopMP();
startedCall = true;
}
break;
}
case TelephonyManager.CALL_STATE_OFFHOOK: {
if(incomingNumber!=null)
{
//outgoing call
MediaService.stopMP();
startedCall = true;
}
break;
}
case TelephonyManager.CALL_STATE_IDLE: {
if(startedCall)
{
MainActivity.titleMusic.setVisibility(View.VISIBLE);
MainActivity.Play();
MediaService.startMP();
startedCall = false;
}
break;
}
default: { }
}
} catch (Exception ex) {
}
}
};
}
발신 전화가 켜지지 않는 것처럼 보이고 수신 전화가 대화 배경에서 재생되는 경우에도 통화가 다시 중단 버퍼에서 시작됩니다. 문제의 코드를 수정했습니다 – user3064772
도움이 될 수 있습니다 : http://stackoverflow.com/questions/13377852/handling-incoming-calls-in-android-application – YasirSE