拦截监听外拨的电话,并进行处理:

向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以在广播传递给拔号广播接收者之前先得到该广播,然后清除传递给拔号广播接收者的电话号码,在拔号广播接收者接收到该广播时,由于电话号码为null,因此取消电话拔打。

 

Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:110"));
startActivity(intent);

public class OutCallReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
setResultData(null); //清除电话,广播被传给系统的接收者后,因为电话为null,取消电话拔打
// 同样如果你想修改外拔的电话号码,可以这样做
// String phone = getResultData();//得到外拔电话
// setResultData(“12593”+ phone);//在电话前面加上12593
}
}

接收外拔电话广播Intent,在AndroidManifest.xml文件中的<application>节点里订阅此Intent:

<receiver android:name=".OutgoingCallReceiver">
<intent-filter android:priority="1">
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>

并且要进行权限声明:

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

Android拦截外拨电话的更多相关文章

  1. Android学习笔记_19_广播接收者 BroadcastReceiver及其应用_窃听短信_拦截外拨电话

    一.广播接收者类型: 广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”. 普通广播是完全异步的,可以在同一时刻(逻辑上 ...

  2. Android(java)学习笔记175:BroadcastReceiver之 外拨电话的广播接收者

    首先我们示例工程一览表如下: 1.首先我们还是买一个收音机,定义一个OutCallReceiver继承自BroadcastReceiver,onReceive()方法中定义了监听到广播,要执行的操作: ...

  3. Android(java)学习笔记118:BroadcastReceiver之 外拨电话的广播接收者

    1. 外拨电话的广播接收者: 首先我们示例工程一览表如下: (2)首先我们还是买一个收音机,定义一个OutCallReceiver继承自BroadcastReceiver,onReceive()方法中 ...

  4. Openwrt15.05网关后pptp外拨失败的解决办法

    路由器升级openwrt chaos_calmer 15.05版后发现NAT后面的客户端外拨pptp vpn服务器失败,经google后得知,在14.07版本中默认安装的又一个叫做 kmod-ipt- ...

  5. Android开发——短信电话拦截/接听电话

    1.短信拦截 首先需要声明的是,Android4.4版本以上,如果想做到短信拦截,必须成为default sms,把所有短信相关的功能都包揽了,然后再做短信拦截.但这种做法,适配性和兼容性的工作是非常 ...

  6. Android开发---基本UI组件1:自动拨电话,自动上网,输入框不换行、只输数字、只输文本、只输密码

    1.activity_main.xml 描述:构建一个按钮 <?xml version="1.0" encoding="utf-8"?> <L ...

  7. android经常使用的电话操作

    给大家分享一下我的一个Android工具类,能够获取手机里面的各种信息,包含拨打电话. 获取全部联系人姓名及电话,插入联系人姓名及电话,插入联系人姓名及电话.插入通话记录.获取用户全部短信.批量插入短 ...

  8. Android -- 工程架构,电话拨号器, 点击事件的4中写法

    (该系列整理自张泽华android视频教程) 1. android工程 各个文件夹的作用 src/  java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动 ...

  9. Mono for Android—初体验之“电话拨号器”

    1.Main.axml文件: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmln ...

随机推荐

  1. Windbg简明教程(转)

    Windbg是Microsoft公司免费调试器调试集合中的GUI的调试器,支持Source和Assembly两种模式的调试.Windbg不仅可以调试应用程序,还可以进行Kernel Debug(新版本 ...

  2. Angular CLI 使用教程指南参考

    Angular CLI 使用教程指南参考 Angular CLI 现在虽然可以正常使用但仍然处于测试阶段. Angular CLI 依赖 Node 4 和 NPM 3 或更高版本. 安装 要安装Ang ...

  3. android api doc 一

    Manifest.permission 用于记录相应权限类 ACCESS_CHECKIN_PROPERTIES 允许在登入数据库的时候读写其中的属性表,并上传改变的值 ACCESS_COARSE_LO ...

  4. group by 深入总结(转)

    http://www.cnblogs.com/wangtao_20/archive/2011/02/23/1959792.html 一.不兼容的语法问题. 先看使用如下sql:SELECT count ...

  5. hadoop hue切换中文版

    搭建了Hue之后发现只有英文的界面,非常不开心,于是百度谷歌了一大堆也没有发现可靠的办法,就自己上手了一把,亲测可行. 英文版: 中文版: hue切换使用中文版的方法如下: 1.修改配置文件 vi / ...

  6. c++ 中const的使用

    在c++中.const是这么一个东西:假设你希望可以有一些东西是别人不能改动的,这个时候const就起作用了. const 在使用情况例如以下: a.修饰常量 const int a; int con ...

  7. iOS中文API之UIResponder介绍

    该UIResponder类定义了响应和处理事件的对象接口.它是UIView和UIApplication的超类(UIWindow).这些类的实例有时被称为响应者对象,简单地说就是响应者. 通常有2种事件 ...

  8. Git 常用命令 思维导图(转)

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. 本来想着只把最有用.最常用的 Git 命令记下来,但是总觉得这个也挺有用.那个也用 ...

  9. Redis 操作数据

    展现最新数据 Web应用常常要展现最新数据,就会根据时间对数据排序: SELECT * FROM foo WHERE ... ORDER BY time DESC LIMIT 10 随着数据的增加,问 ...

  10. 学习 Linux,302(混合环境): 概念

    http://www.ibm.com/developerworks/cn/linux/l-lpic3-310-1/ 概述 在本文中,学习以下概念: Server Message Block (SMB) ...