Я делаю приложение, которое записывает звонки (оба, входящие и исходящие звонки).
Я только что решил проблему с записью звука при входящих вызовах, но обнаружил некоторые проблемы с исходящими вызовами.
Моя ситуация следующая. Я хотел бы записывать звук только тогда, когда звонок принят, но я не знаю, как это сделать. Я только что попытался использовать класс PhoneStateListener, но состояние вызова не меняется, когда вызов принят. У меня есть следующий код:
package com.call.record.listeners;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
public class OutgoingPhoneStateListener extends PhoneStateListener{
private String phoneNumber;
public OutgoingPhoneStateListener(String pn) {
// TODO Auto-generated constructor stub
super();
phoneNumber = pn;
}
public void onCallStateChanged(int state, String incomingNumber){
switch(state){
case TelephonyManager.CALL_STATE_IDLE:
Log.d("DEBUG", "IDLE");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d("DEBUG", "OFFHOOK");
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.d("DEBUG", "RINGING");
break;
}
}
}
В предыдущем коде при исходящем вызове