android,服务,监听电话状态,实现电话录音
来源:互联网 发布:透明矢量图软件 编辑:程序博客网 时间:2024/05/01 14:59
创建一个类 继承Service。用于长期运行在后台。
public class PhoneStatusService extends Service {/** * 长期在后台运行的组件,如果用户不手动的关闭 , 不会停止的. */@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}@Overridepublic void onCreate() {super.onCreate();System.out.println("服务被创建了 ");// 监视用户电话状态的变化...// 电话管理器 电话管理的服务TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);// 监听手机的通话状态的变化tm.listen(new MyPhoneStatusLinstener(),PhoneStateListener.LISTEN_CALL_STATE);}private class MyPhoneStatusLinstener extends PhoneStateListener {private MediaRecorder recorder;@Overridepublic void onCallStateChanged(int state, String incomingNumber) {try {switch (state) {case TelephonyManager.CALL_STATE_IDLE: // 空闲状态 ,没有通话 没有响铃if (recorder != null) {recorder.stop();recorder.reset(); // You can reuse the object by going backrecorder.release(); // Now the object cannot be reusedrecorder = null;}break;case TelephonyManager.CALL_STATE_RINGING: // 响铃状态.System.out.println("发现来电号码 :" + incomingNumber);// 1.创建出来一个录音机recorder = new MediaRecorder();// 设置录制的音频源 从话筒里面获取声音recorder.setAudioSource(MediaRecorder.AudioSource.MIC);recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);recorder.setOutputFile("/sdcard/" + System.currentTimeMillis()+ ".3gp");recorder.prepare();break;case TelephonyManager.CALL_STATE_OFFHOOK: // 通话状态if (recorder != null) {recorder.start(); // Recording is now started}break;}} catch (Exception e) {e.printStackTrace();}super.onCallStateChanged(state, incomingNumber);}}@Overridepublic void onDestroy() {super.onDestroy();System.out.println("服务被销毁了...");}}
//开启服务
Intent intent = new Intent(this,PhoneStatusService.class);
startService(intent);
清单中加入
<service android:name=".PhoneStatusService"></service>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
0 0
- android,服务,监听电话状态,实现电话录音
- Android监听电话状态
- android 监听电话状态
- android 监听电话状态
- android 监听电话状态
- Android 电话状态监听
- 【Android】监听电话状态
- android电话状态监听
- android电话状态监听
- Android监听电话状态
- android服务Service----实现电话监听录音
- Android服务Service----实现电话监听录音
- android服务Service----实现电话监听录音
- android服务监听电话
- Android-服务与广播实现简单电话录音
- android 电话状态的监听
- android监听电话状态问题
- android监听电话状态问题
- Spring AOP 详解
- 看懂卷积神经网络(CNN)
- 的这些转换函数对于这两类
- 敏捷开发之道(六)计划(续)
- HFile 结构
- android,服务,监听电话状态,实现电话录音
- 数据结构复习笔记二:栈与队列
- 深入理解js闭包
- 基于apex的心跳包的设计
- IOS入门学习(五):基本交互功能之滑块、标签和操作表单和告警视图
- 如何使用ZeroBrane Studio远程调试Cocos2d-x的Lua脚本
- cocos2D-x:触摸(4)
- windows快捷键一览
- 使用SecureCRT对Linux vim进行颜色设置【可用的.vimrc文件内容】