1.建 一个service
public class PhoneListenerService extends Service {
private static final String SDPATH = Environment.getExternalStorageDirectory() + "/";
private static final String TAG = "PhoneListenerService";
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener stateListener = new PhoneStateListener() {
private MediaRecorder recorder;
private String incomingNumber;
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch(state) {
case TelephonyManager.CALL_STATE_IDLE ://无电话
if(recorder != null){
this.incomingNumber = null;
recorder.stop();
recorder.release();
}
break;
case TelephonyManager.CALL_STATE_OFFHOOK : //接电话
Log.i(TAG, "start record");
try {
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
SimpleDateFormat format = new SimpleDateFormat("yymmddhhmms");
//保存的文件名
String filename = this.incomingNumber + "_" + format.format(new Date()) + ".3gp";
//文件保存位置
recorder.setOutputFile(SDPATH + filename);
recorder.prepare();
recorder.start();
} catch (Exception e) {
Log.e(TAG, e.toString());
}
break;
case TelephonyManager.CALL_STATE_RINGING : //来电话
Log.i(TAG, "new ring");
this.incomingNumber = incomingNumber;
recorder = new MediaRecorder();
break;
}
super.onCallStateChanged(state, incomingNumber);
}
};
//监听电话
Log.i(TAG, "start listener");
telephonyManager.listen(stateListener, PhoneStateListener.LISTEN_CALL_STATE);
}
}
2.建一个广播,在开机时调用
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("broadcast");
Intent service = new Intent(context, PhoneListenerService.class);
context.startService(service);
}
}
3.xml文件中写
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.halleluja.phone"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<service android:name=".PhoneListenerService"/>
<receiver android:name=".BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="7" />
<!-- 录音权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!-- 电话状态权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- 启动权限 -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<!-- sdcard文件创建删除权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- sdcard写权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>
分享到:
相关推荐
得力13550S录音电话机软件是一款专为得力13550S型号录音电话机设计的应用程序,旨在提供电话录音、管理和回放功能,以满足商业沟通、客户服务或个人需求中的记录需求。这款软件的核心价值在于其高效、安全且易于使用...
在实现电话录音功能时,务必确保用户已授予录音权限(`Manifest.permission.RECORD_AUDIO`),并且在 Android 6.0 及以上版本需要在运行时请求权限。此外,某些设备可能不允许应用在后台录音,所以最好在用户知情的...
调用系统的拨号功能,检测通话状态,接通、挂断来决定开始录音和停止录音 方式二:SIP软电话,集成linphone框架的VoIP网络电话,实现网络通话并录音, 项目详解连接:...
总的来说,怡嘉怡电话录音行业版HM257+是一个功能强大的电话录音解决方案,其专业性和易用性使得它在各个行业中都能得到广泛应用。结合安装参考图,用户可以快速部署并有效利用这一系统,提高工作效率,保障业务流程...
总结来说,电话小管家USB录音盒是一种集便利性、易用性和多功能性于一体的电话录音解决方案。通过USB接口与电脑连接,配合驱动程序和应用软件,它可以轻松记录和管理电话通话,适用于各种需要电话录音的场景,尤其...
9. **合规性**:在某些行业,如金融、医疗,电话录音可能受法规约束,程序需符合这些法规要求,如数据保留期限、数据隐私保护等。 10. **集成能力**:与企业的CRM、呼叫中心系统或其他业务应用集成,实现数据共享和...
即便在电源供应中断的情况下,只要为电话机装上3节5号电池,它便能自动保存所有重要的电话录音数据。这一设计充分考虑到了紧急情况下的数据安全需求,确保即使在突发状况下也不会丢失关键的通讯信息。 为帮助用户更...
1. **合法合规**:在使用电话录音前,确保了解当地的法律法规,尊重他人的隐私权,获得对方同意才能进行录音。 2. **存储空间**:录音会占用手机内存,定期清理无用录音,确保手机有足够的存储空间。 3. **电池续航*...
总体来说,润普电话录音系统是一个集专业录音、高效管理、安全存储和灵活开发于一体的整体解决方案,能够帮助企业提升服务质量,优化通信流程,同时也为企业的合规运营提供强有力的支持。其详细的操作指南和开发手册...
本主题聚焦于如何利用C#与第三方控件来实现语音卡进行电话录音的功能。语音卡,也称为电信接口卡或VoIP卡,是硬件设备,能够连接到计算机并处理电话通信信号,为电话录音提供了物理基础。 首先,我们要理解电话录音...
开发者可以借此理解设备的工作原理,以便于编写相应的驱动程序或应用程序来控制USB电话录音设备。 其次,"agi-ub开发接口说明文档.docx"是开发的核心指南,它详细介绍了各种API接口的功能、使用方法和注意事项。...
在IT行业中,接打电话录音是一项常见且重要的功能,尤其在商业、执法以及客户服务等领域中有着广泛的应用。这个压缩包文件的标题"接打电话录音"暗示了我们即将探讨的是关于实现电话通话录音的技术方案。描述中提到,...
步步高录音电话HCD198是一款专为商务办公或个人使用设计的录音电话...总的来说,步步高录音电话HCD198的驱动程序是确保其在Windows 11系统上顺利运行的关键组件,用户需重视驱动的安装和更新,以保证设备的高效和稳定。
在Android平台上,开发电话和短信管理应用是一项常见的任务,其中包括对来电和短信进行黑白名单拦截以及电话录音功能。本文将详细解析如何实现这些功能,并提供相关的编程知识点。 首先,我们来了解一下电话拦截的...
在Android平台上实现电话录音功能是一项技术挑战,因为它涉及到与系统底层通信、权限管理以及音频流的处理。在“android电话录音源代码”中,我们主要关注以下几个关键知识点: 1. **权限申请**: 在Android中,...
在本项目"android_service_电话录音"中,开发者利用了`Service`来实现在通话过程中录制音频,这为理解Android服务的工作原理以及电话录音功能提供了很好的实践案例。 首先,我们要了解`Service`的基本概念。在...
**知识点:嵌入式电话录音盒ACR-B040的安装与操作指南** 嵌入式电话录音盒ACR-B040是一款专为电话通话记录设计的专业设备,适用于多种场景,如客服中心、企业办公环境等,以实现对重要通话的实时录制与管理。下面将...
### 电话录音硬件知识点详解 #### 一、电话录音硬件的重要性与应用场景 电话录音硬件,在当今社会中扮演着至关重要的角色,特别是在法律、责任追溯、客户服务、安全管理等多个领域。随着数字化时代的到来,电话...
电话集中录音解决方案主要应用于需要对大量通话进行记录的企业或机构中,旨在确保所有重要的通话内容都能被准确无误地记录下来,便于后续分析、管理和调用。该方案的核心是构建一个集中的录音系统,通过局域网连接...