下边的是电话录音,参数自己换,可以当录音机哈
//取得电话管理服务
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(new phonelistener(), PhoneStateListener.LISTEN_CALL_STATE);
private final class phonelistener extends PhoneStateListener{
private String incomingNumber;//来电话吗
private MediaRecorder mediaRecorder;
private File file;
@Override
public void onCallStateChanged(int state, String incomingNumber) {
try {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING://来电状态
this.incomingNumber = incomingNumber;
break;
case TelephonyManager.CALL_STATE_OFFHOOK://接通来电状态
file = new File(Environment.getExternalStorageDirectory(),incomingNumber+System.currentTimeMillis()+".3gp");
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//录音麦克
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile(file.getAbsolutePath());
mediaRecorder.prepare();//准备就绪
mediaRecorder.start();
break;
case TelephonyManager.CALL_STATE_IDLE://电话空闲状态
if(mediaRecorder != null){
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder = null;
// uploadFile();//上传文件方法
}
break;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}