Android入门:广播接收者应用(电话拦截器)
来源:互联网 发布:心神战机 知乎 编辑:程序博客网 时间:2024/05/22 02:13
转自:http://blog.csdn.net/xiazdong/article/details/7771315
一、电话拦截器应用说明
在我们输入完电话号码并拨打电话时,系统会发出一个有序广播(action="android.intent.action.NEW_OUTGOING_CALL"),并且预计会发送给电话拨号器应用的广播接收者,但是我们可以设置一个优先级更高的拦截器广播接收者(android:priority="1000"),使得在拨号器的广播接收者收到电话之前将电话清空,如图所示:
由于此应用应该比较隐蔽,因此需要开机自启动,当开机自启动时,系统会发出一个广播,激活满足条件的组件(action="android.intent.action.BOOT_COMPLETED");
二、代码实现
AndroidManifest.xml
- <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <!-- 外界拨打权限 -->
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <!-- 接收开机广播 -->
- <application
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name" >
- <receiver android:name=".PhoneBroadcastReceiver">
- <intent-filter android:priority="1000">
- <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
- <action android:name="android.intent.action.BOOT_COMPLETED"/>
- </intent-filter>
- </receiver>
- </application>
PhoneBroadcastReceiver.java
- package com.xiazdong.phonelistener;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- public class PhoneBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- if("5556".equals(this.getResultData())) this.setResultData(null); //如果电话是5556,则清空,不让他拨打
- }
- }
- Android入门:广播接收者应用(电话拦截器)
- Android入门:广播接收者应用(电话拦截器)
- Android入门:广播接收者应用(电话拦截器)
- 广播接收者拦截电话
- Android开发入门之采用广播接收者拦截外拨电话及其特性
- Android 采用广播接收者拦截外拨电话及其特性
- Android入门:广播接收者应用(短信窃听器)
- Android入门:广播接收者应用(短信窃听器)
- Android入门:广播接收者应用(短信窃听器)
- Android入门:广播接收者应用(短信窃听器)
- Android:BroadcastReceiver:采用广播接收者拦截外拔电话、发送广播、其他常用广播、特性
- Android学习笔记_19_广播接收者 BroadcastReceiver及其应用_窃听短信_拦截外拨电话
- android 使用广播接收者监听短信和拦截外拨电话
- android 使用广播接收者监听短信和拦截外拨电话
- android 使用广播接收者监听短信和拦截外拨电话
- android 使用广播接收者监听短信和拦截外拨电话
- android广播接收者 ip电话拔号器
- android拦截电话(AIDL+广播)
- 【面试题】【c++】 实现只能在堆上实例化的类
- 像素操作
- eclipse如何导入源码所有应用
- 实习第18天
- Testing the CATCHER (P1887)
- Android入门:广播接收者应用(电话拦截器)
- int 与 integer的区别
- load average
- 和菜鸟一起学linux之input系统简单实例
- cpuinfo
- 2、shell指令操作【ubuntu】 - cp指令如何用管道传参数
- Android入门:Service入门介绍
- Versions比对版本功能 FileMerge 无法找到的解决办法
- CPU占有率