有没有办法通过Android代码记录来电?
如果这个功能不存在,那么第三方应用程序是如何录音的呢?
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。