文档章节

监视系统 电话和短信

 梦想家Peng
发布于 2016/03/03 10:18
字数 430
阅读 8
收藏 0

呼出电话
-----------------------------------
【工作机制】
当呼出电话时,系统会发出一个有序广播,并且,将呼叫的电话号码通过setResultData()进行封装,最后,呼叫程序接收到该广播后,实现呼出。
【实现原理】
通过getResultData()获取电话号码,根据自定义的逻辑对号码进行判断,在有必要的时候,通过setResultData()修改电话号码。
权限:android.permission.PROCESS_OUTGOING_CALLS
广播Action:android.intent.action.NEW_OUTGOING_CALL

监听短信
-----------------------------------
【工作原理】当新的短信到来时,系统会发出广播,并且将短信的相关数据封装在Intent中。
【实现过程】
权限:android.permission.RECEIVE_SMS
广播Action:android.provider.Telephony.SMS_RECEIVED

eg:

public class SmsReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // 日志
        Log.d("tag", "SmsReceiver.onReceive()");

        // 短信的数据对象
        SmsMessage msg;
        // 从Intent中获取短信的内容,每次收到的短信可能由多条短信组成
        Object[] pdus = (Object[]) intent.getExtras().get("pdus");
        // 短信的数据
        byte[] pdu;
        // 循环获取的短信内容,即循环时每次读1条短信的数据
        for (int i = 0; i < pdus.length; i++) {
            // 获取短信的数据
            pdu = (byte[]) pdus[i];
            // 将数据封装为SmsMessage对象
            msg = SmsMessage.createFromPdu(pdu);
            // 获取短信的内容
            String address = msg.getOriginatingAddress();
            String body = msg.getMessageBody();
            Date date = new Date(msg.getTimestampMillis());
            // 日志输入显示
            Log.d("tag", "address -> " + address);
            Log.d("tag", "date -> " + date);
            Log.d("tag", "body -> " + body);
        }
    }

}

监听来电

-----------------------------------
【工作原理】当新的呼叫到来时,系统会发出广播。
【实现过程】
权限:

android.permission.READ_PHONE_STATE
android.permission.CALL_PHONE
广播Action:android.intent.action.PHONE_STATE
【挂断电话】
问题1:ITelephony可以实现挂断电话,但是该类型不可识别,则需要自定义ITelephony的aidl文件
问题2:获取ITelephony对象可以通过TelephonyManager的getITelephony()方法获取,但是,该方法是使用private修饰的私有方法

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 34
码字总数 15605
作品 0
深圳
新型病毒伪装成“Facebook” 专盗隐私

  【IT168 评论】近期,瑞星“云安全”系统拦截到一款新型Android病毒,该病毒伪装成知名社交网站“Facebook”的应用程序引诱网民下载安装,手机一旦中毒就会按照黑客指定命令发送短信或拨...

it168网站
2014/08/08
0
0
Android学习笔记:短信控制手机之“短信开启定位”

首先,我必须说,我是菜鸟。接触Android不就久,在这里记下,第一想让自己有更加深刻的印象,第二也想和大家一起分享。如果出现一些错误,还请批评和指正。![表情][1] 先叙述一下一个小故事。...

Cosven
2014/01/30
0
5
DES加密不靠谱:几条短信让SIM卡两分钟内被黑

每一个GSM手机都需要一个SIM卡, 这张卡应该不会出什么乱子把,不是这样的!德国柏林安全研究实验室的创始人Karsten Nohl 最近发现过去SIM卡常用的DES加密存在缺陷,可让黑客两分钟内获取SIM...

oschina
2013/07/24
5.3K
21
针对沙特人权活动家和研究人员的NSO间谍软件

     Amnesty,国际特赦组织,世界上最著名的非营利人权组织之一,据说,Amnesty其中一名工作人员成为了以色列NSO组织制造的先进监视工具的目标。NSO是一家以色列公司,主要销售能够远程...

嘶吼RoarTalk
08/05
0
0
android 使用广播接收者监听短信和拦截外拨电话

如果你想监听自己或者别人接收到的短信,设置黑名单等功能,那么就需要以下功能监听短信,并进行提示或者响应的处理: 当系统收到短信时,会发出一个广播Intent,Intent的action名称为android...

长平狐
2012/09/03
758
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

day60-20180818-流利阅读笔记-待学习

钉钉:工作的归工作,生活的…也归工作? 毛西 2018-08-18 1.今日导读 你用过“钉钉”么?被公司要求使用钉钉的感受是如何的呢?这款阿里巴巴旗下的移动办公社交平台在弯道超车微信、为许多企...

aibinxiao
46分钟前
6
0
Kubernetes的HTTPS和证书问题,汇总

通过Kubernetes建立服务网站,需要干的事情和HTTPS和证书问题,汇总如下: 建立Nginx服务器 搞服务器第一步,Ubuntu 18.04设置静态IP 安装Nginx服务。 Kubernetes的deployment使用 创建服务,...

openthings
今天
2
0
php 使用redis锁限制并发访问类

1.并发访问限制问题 对于一些需要限制同一个用户并发访问的场景,如果用户并发请求多次,而服务器处理没有加锁限制,用户则可以多次请求成功。 例如换领优惠券,如果用户同一时间并发提交换领...

豆花饭烧土豆
今天
0
0
Linux环境搭建 | 手把手教你配置Linux虚拟机

在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度。 Ubuntu刚安装完毕之后,还无法进行开发,...

良许Linux
今天
0
0
(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部