a) Получение разрешений READ_PHONE_STATE & RECORD_AUDIO
b) Регистрация получателя состояния телефона
<receiver android:name="com.record.app.callrecorderapp.CallStateListener" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
c) Запуск записи при входящем звонке
public class CallStateListener extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (TelephonyManager.EXTRA_STATE_RINGING.equals(state)) {
startRecording();
}
}
}
d)Выполняйте фактическую запись
void startRecording() {
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setOutputFile(filePath);
recorder.start();
}
Там больше бухгалтерии, но вы поймете это.
Должно работать на ~ 50% устройств, включая Galaxy S4 + S5