zoukankan      html  css  js  c++  java
  • 通过广播者实现短信的拦截

    在Android中的四大组件中的广播接收者(BroadcastReceiver):可以用于监听 / 接收 应用发出的广播消息,并做出响应。

    所以,通过这个自然而然的可以实现短信的拦截。

    先定义一个SmsListenerRecevicer类来继承BroadcastReceiver。在里面实现短信的拦截

     1 package cn.starry.smsListener;
     2 
     3 import android.content.BroadcastReceiver;
     4 import android.content.Context;
     5 import android.content.Intent;
     6 import android.telephony.SmsMessage;
     7 
     8 public class SmsListenerRecevicer extends BroadcastReceiver {
     9 
    10     @Override
    11     public void onReceive(Context context, Intent intent) {
    12         Object[] objects = (Object[]) intent.getExtras().get("pdus");
    13         for (Object pdu : objects) {
    14             //获取smsmessage实例
    15             SmsMessage message = SmsMessage.createFromPdu((byte[]) pdu);
    16             //获取发送短信的内容
    17             String boby = message.getMessageBody();
    18             //获取发送者
    19             String address = message.getOriginatingAddress();
    20             System.out.println("body:" + boby + ",address:" + address);
    21         }
    22         
    23     }
    24 
    25 }

    然后在清单文件里声明该广播接收者。

    由于出于安全考虑,在action里的name中不会出现

    android.provider.Telephony.SMS_RECEIVED

    所以需要自己自己打出来,不过复制粘贴也行。

    最后需要添加"RECEIVE_SMS"权限就行了

  • 相关阅读:
    《何以为家》--观影心得
    博弈论 -- 巴什博弈
    《黑客攻防技术-系统实战》第二章--栈溢出1
    《汇编语言》--程序范例
    《黑客攻防技术-系统实战》开篇讲解
    ptrace理解
    DPDK初始化
    C++ 对象内存模型
    DPDK学习路线计划
    DPDK学习开篇
  • 原文地址:https://www.cnblogs.com/xingkongyihao/p/7424969.html
Copyright © 2011-2022 走看看