你的位置:首页 > 软件开发 > 操作系统 > Android四大组件应用系列——实现电话拦截和电话录音

Android四大组件应用系列——实现电话拦截和电话录音

发布时间:2015-10-20 09:00:10
一、问题描述  使用BordercastReceiver和Service组件实现下述功能:1.当手机处于来电状态,启动监听服务,对来电进行监听录音。2.设置电话黑名单,当来电是黑名单电话,则直接挂断。  当拨打电话或电话状态发生改变时,系统就会发出有序广播,因此我们可以使用Bor ...

Android四大组件应用系列——实现电话拦截和电话录音

一、问题描述

  使用BordercastReceiver和Service组件实现下述功能:

1.当手机处于来电状态,启动监听服务,对来电进行监听录音。

2.设置电话黑名单,当来电是黑名单电话,则直接挂断。

  当拨打电话或电话状态发生改变时,系统就会发出有序广播,因此我们可以使用BordercastReceiver接受广播,因BordercastReceiver执行时间短不能执行耗时任务也不能使用子线程,因此我们应启动一个Service来监听电话并进行处理

二、加入AIDL文件

  Android没有对外公开结束通话的API,要结束通话就必须使用AIDL与电话管理服务进行通信,并调用服务中的API实现结束通话,这样需要android 源码文件NeighboringCellInfo.aidl和ITelephony.aidl添加到项目中,如图所示:

 Android四大组件应用系列——实现电话拦截和电话录音

Android Studio 会自动编译产生对应的类文件

三、编写TelReceiver组件
public class TelReceiver extends BroadcastReceiver {  public TelReceiver() {  }  @Override  public void onReceive(Context context, Intent intent) {    Intent i=new Intent(context,ListenPhoneService.class);    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    i.setAction(intent.getAction());    i.putExtra(TelephonyManager.EXTRA_INCOMING_NUMBER,        intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER));//电话号码    i.putExtra(TelephonyManager.EXTRA_STATE,        intent.getStringExtra(TelephonyManager.EXTRA_STATE));//电话状态    context.startService(i);//启动服务  }}
 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Android四大组件应用系列——实现电话拦截和电话录音

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录