服务:电话录制
来源:互联网 发布:大文豪曼因斯坦知乎 编辑:程序博客网 时间:2024/05/01 07:59
package com.example.test;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;public class PhoneLinstenService extends Service {//定义一个系统的电话状态的管理者private TelephonyManager tm;@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic void onCreate() {tm=(TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);tm.listen(new MyPhoneListener(), PhoneStateListener.LISTEN_CALL_STATE);System.out.println("服务被创建了");super.onCreate();}private MediaRecorder recorder;private class MyPhoneListener extends PhoneStateListener{@Overridepublic void onSignalStrengthChanged(int asu) {super.onSignalStrengthChanged(asu);}@Overridepublic void onCallStateChanged(int state, String incomingNumber) {switch (state) {case TelephonyManager.CALL_STATE_IDLE://呼叫状态空闲System.out.println("结束录音,上传数据到服务器");if(recorder!=null){recorder.stop();recorder.release();recorder=null;}break;case TelephonyManager.CALL_STATE_RINGING://响铃状态System.out.println("响铃状态");recorder=new MediaRecorder();//麦克风获取音源 只有自己的声音//recorder.setAudioSource(MediaRecorder.AudioSource.MIC);//对方和自己的声音 索爱 索尼 国产的手机可以 因为 欧洲和美国法律 只有对方同意才可以录recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);String s="/sdcard/"+System.currentTimeMillis()+".3gp";recorder.setOutputFile(s);System.out.println(s);recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);try {recorder.prepare();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}break;case TelephonyManager.CALL_STATE_OFFHOOK://接通了电话接触了键盘的锁定System.out.println("开启一个录音机,开始录音");if(recorder!=null)recorder.start();break;default:break;}super.onCallStateChanged(state, incomingNumber);}@Overridepublic void onDataActivity(int direction) {super.onDataActivity(direction);}}@Overridepublic void onDestroy() {System.out.println("服务被销毁了");super.onDestroy();}}
<service android:name="com.example.test.PhoneLinstenService"></service>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/>开启服务
Intent intent =new Intent(this,PhoneLinstenService.class);stopService(intent);
0 0
- 服务:电话录制
- android 使用服务来窃听电话,并且通过语音录制
- android 使用服务来窃听电话,并且通过语音录制
- 采用Service监听电话并录制
- 公共服务电话
- 1860服务电话搞笑
- android电话服务
- 电话服务定制
- 电话客户服务模拟
- 电话客户服务模拟
- 电话客户服务模拟
- 电话服务流程
- 政府、公积金服务电话
- Dell 服务电话列表
- 电话客户服务模拟
- 采用服务窃听电话
- android服务监听电话
- Android电话服务
- 一连接池proxool问题解决
- Linux使用NFS(网络文件系统)挂载网络磁盘
- java【源码】事件监听小练习1
- http://www.ruanyifeng.com/blog/2011/02/seven_myths_about_https.html
- Android Intent 使用 Parcel 反序列化出错.
- 服务:电话录制
- 学习mvvm的好帖子
- vim 正则表达式
- sublime配置全攻略
- 同域jQuery(跨)iframe操作DOM(实例讲解)
- wpf 在 AddNew 或 EditItem 事务过程中不允许“DeferRefresh”。
- SIP协议压缩方案-SIP二进制化实现
- JQUERY dialog的用法详细解析
- Python编程——IO(输入输出)