[Android]通过广播读取短信

Android开发之广播读取短信 android.telephony.SmsMessageA Short Message Service message.Broadcast.class:import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.B... 阅读详情

此实例实现功能为通过接收广播读取短信

实现很简单,但使用到了广播接受者,以免遗忘在此记录:

代码

  • AndriodMainfest文件

申明权限

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

配置广播

        <receiver android:name="activity.SMSBroadcastReceiver">
            <intent-filter android:priority="999">  
               <action android:name="android.provider.Telephony.SMS_RECEIVED" />  
           </intent-filter>
        </receiver>
  • BroadcastReceiver文件
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;

public class SMSBroadcastReceiver extends BroadcastReceiver{
    //指定动作的名称
    public static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";  

    @Override  
    public void onReceive(Context context, Intent intent) {  
        if (ACTION.equals(intent.getAction())) {
            //根据接收到的意图对象获取短信
            SmsMessage[] msgs = getMessageFromIntent(intent);
            //提取短信内容  
            StringBuilder sBuilder = new StringBuilder();  
            if (msgs != null && msgs.length > 0 ) {  
                for (SmsMessage msg : msgs) {  
                    sBuilder.append("接收到了短信:\n发件人是:");  
                    sBuilder.append(msg.getDisplayOriginatingAddress());  
                    sBuilder.append("\n------短信内容-------\n");
                    sBuilder.append(msg.getDisplayMessageBody()); 
                }  
            }

            System.out.println(sBuilder.toString());  
        }       
    }  

    //从意图获取短信对象的具体方法
    public static SmsMessage[] getMessageFromIntent(Intent intent) {  
        SmsMessage retmeMessage[] = null;  
        Bundle bundle = intent.getExtras();  
        Object pdus[] = (Object[]) bundle.get("pdus");  
        retmeMessage = new SmsMessage[pdus.length];  
        for (int i = 0; i < pdus.length; i++) {  
            byte[] bytedata = (byte[]) pdus[i];  
            retmeMessage[i]  = SmsMessage.createFromPdu(bytedata);  
        }  
        return retmeMessage;  
    }
}
android学习笔记---37_采用广播接收者实现系统短信操作_获取短信_收发短信等 37_采用广播接收者实现短信窃听器 1. 原理:当系统接收到短信时候,会发出一个广播Intent,Intent的action名称为android.provider.Telephony.SMS_RECEIVED,该Intent存放了系统接收到的短信内容,我们使用名称“pdus”即可以从Intent中取得短信的内容。 广播被分为两种不同的类型:“普通广播(Norm 阅读详情

相关推荐

密码学新手必看:三大顶级会议论文下载与阅读指南(附完整资源链接)

本文为密码学新手提供了系统性的三大顶级会议(Crypto、Eurocrypt、Asiacrypt)论文学习指南。内容涵盖如何高效获取最新论文资源、结构化精读论文的方法论,以及将理论转化为代码实践的路径,旨在帮助初学者快速构建密码学知识体系并应用于研究。

weixin_29214691的博客 319

Android 读取、接收、发送 手机短信

:https://www.cnblogs.com/ycclmy/tag/android/ 1、Android 读取手机短信 From:https://www.cnblogs.com/ycclmy/p/3193075.html 获取 android 手机短信需要在 AndroidManifest.xml 加权限: <uses-permissi...

墨鱼菜鸡 5488

速腾RS-LiDAR-16激光雷达ROS环境搭建与点云可视化实战指南

本文提供速腾RS-LiDAR-16激光雷达在ROS环境下的完整搭建与可视化实战指南。从硬件连接、网络配置、驱动安装编译,到核心参数详解与Rviz点云可视化,手把手解决IP设置、坐标系对齐等常见问题,帮助开发者快速实现激光雷达三维点云数据的采集与显示。

weixin_29271263的博客 370

android 广播接收器接收广播,Android的 - 如何使用广播接收器来读取短信?

如果我正确理解你的问题,你想接收广播(当短信到达)而您的活动展示。如果是这样,我发现了一个很好的模式来做这件事回来(不记得我从哪里得到它,将是很好的归功于原作者)。首先,创建一个接口:public interface Receiver {public void onReceive(Context context, Intent intent);}现在创建了BroadcastReceiver的子类,...

weixin_33216057的博客 171

【Cadence】Virtuoso@LayoutXL 差分电路版图同步修改

对于差分电路,器件和部分走线通常是对称的,只需要画一半,另一半通过镜像操作完成。因此,需要对差分电路进行同步的修改,保证电路的差分对称性和正确的连接关系。然而,通常版图会经过多次修改,修改的部分可能在镜像的时候被遗漏。左边画了金属块,右边也出现了同步出现了金属块。进入group会有同步复制的提示。

乾巽的博客 3050

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型 当前AI企业级应用面临三大核心挑战:业务场景深度非标化、技术落地"最后一公里"困局、以及市场竞争焦点转向实用价值。前线部署工程师(FDE)作为破局关键,通过技术-业务-产品三维交汇的复合能力,将AI从实验室推向生产环境。FDE不仅是技术架构师,更是业务价值挖掘机和产品进化传感器,通过"碎石路-高速公路"双循环模式,将定制化需求沉淀为可复用的平台能力。这种模式颠覆了传统SaaS的销售逻辑,形成基于价值的J型增长

随笔记录-分享&记忆 4005

Android 广播获取短信内容

Android 广播获取短信内容 一、创建广播监听短信接收器 public  BroadcastReceiver borad = new  BroadcastReceiver(){   @Override   public void onReceive(Context context, Intent intent) {    //super.onReceive(context, intent...

593

Android Binder——数据传递载体(二十一)

同一进程间的对象传递都是通过引用来做的,因而本质上就是传递了一个内存地址。而跨进程采用了虚拟内存机制,两个进程都有自己独立的内存地址空间,所以跨进程传递的地址值是无效的。进程间的数据传递是 Binder 机制中的重要一环,Android 系统中担负这一重任的就是 Parcel。Parcel 是一种数据的载体,用于承载希望通过 IBinder 发送的相关信息(包括数据和对象引用)。正是基于 Parcel 这种跨进程传输数据的能力,进程间的 IPC 通信才能更加平滑可靠。

小旭的专栏 576

Android笔记之(BroadcastReceiver)广播接收短信

今天学会了如何通过Android的广播机制来获取短信通知并得到短信内容,这里主要用到了安卓的广播类BroadcastReceiver和 里面的onReceive方法。 首先自定义子类SMSReceiver继承BroadcastReceiver,重写onReceive方法。然后在AndroidManifest.xml或通过代码动态配置 过滤器,当有通过过滤器的广播时,系统会自动new一个子类对

qq_22027489的博客 1537

Bash Shell 系统巡检脚本

部分安全相关检查需要root权限,建议通过sudo运行完整检查。

老韩的Linux云计算架构师进阶之路 96

强化学习在视觉导航中的应用

强化学习在视觉导航中的应用​ ,人工智能,计算机视觉,大模型,AI,强化学习(Reinforcement Learning, RL)是一种通过智能体(Agent)与环境进行交互,以最大化累积奖励为目标的机器学习范式。它不依赖于预定义的规则或大量标注数据,而是让智能体在试错过程中学习最优策略。计算机视觉(Computer Vision)则赋予智能体 “观察” 环境的能力,使其能够从图像或视频中提取有用信息。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 22万+

App读取短信实现

应用中通常会涉及到读取短信,下面通过自动获取短信验证码演示了如何在应用中读取短信。 权限 <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> 通过广播监听短信 注意:这种方式只有在新接收到消息的时候才会执行代码,并不会读取收件箱中已读或未读的消息。 class SmsRece

折翅鵬的博客 4720

49、Linux内核内存管理:MGLRU、DAMON与OOM杀手详解

本文详细解析了Linux内核内存管理中的三大核心机制:MGLRU(多代LRU)页面追踪与回收机制、DAMON数据访问监控工具及其在内存优化中的应用,以及OOM(内存不足)杀手的工作原理和触发方式。同时,文章还介绍了VM overcommit_memory策略的设置及其对内存分配的影响,帮助开发者和系统管理员更好地理解Linux内存管理机制,从而优化系统性能和稳定性。

dropout6artist的博客 108

利用广播读取即时短信

当我们注册一个app时会有短信发过来,然后把短信直接读取到登录界面的账号和密码,这样用户可以直接点击登录就好。这个activity是与短信读取有关。

xuxinyihappy的专栏 502

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android开发之获取手机短信验证码

前提--权限:[java] view plain copy "android.permission.RECEIVE_SMS" >    "android.permission.READ_SMS" >    方式一:通过广播监听短信消息(注意:这种方式只对新收到的短消息有效,运行代码,并不会读取收件箱中已读或未读的消息,只有当收到新来的短消息时,才会执行onChange方法)注册一个广播:[java

chaishen10000的专栏 5799

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android中短信的读取与拦截

Android中短信也是一种广播,当短信来时系统会发出广播。我们只要处理广播事件即可读取短信信息。 读取短信代码1: public class SMSReceiver extends BroadcastReceiver{ public final static SmsM

china1988s的专栏 2796

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android 短信的各种操作操作

android学习笔记25--------------短信的各种操作操作 分类: android2012-02-17 20:08 2234人阅读 评论(2) 收藏 举报 转载请注明原文出处:http://blog.youkuaiyun.com/yf210yf 1.注册广播接收器  [java] view plaincopyprint?

liduanw的专栏 7584

小米手机读取手机短信

由于小米的系统屏蔽了短信广播事件。通过广播事件读取短信的方法失败。 所以使用读取短信数据库的方法来读取短信 需要读取短信权限 读取短信类 package com.heima.readsms; import android.app.Activity; import android.content.ContentValues; import android.databa

u012854263的专栏 6597

Android开发点滴(五) 监听短信收取

在Android app中监听短信收取

zfs2008zfs的博客 527

Android开发之监听或获取手机短信内容

from: http://blog.youkuaiyun.com/mad1989/article/details/22426415

dylancao的专栏 1577

Android App 可以定时启动! 并且完成短信自动发送获取内容功能 (以获取闪讯密码为例 大学宿舍宽带)

接上一篇:android 发送短信sendTextMessage()真机运行报错,退出,在已申请SEND_SMS权限的情况下Android send SMS not working uid 。。。 重开一篇,完整讲述我这个半吊子的android 入门人员是怎么做出一个可以定时启动并且发送短信,读取回信里面的密码 这个功能的app 至于我为什么要做这个功能,可以看上一篇文章。主要是大学里面宽带密码...

qq_38190111的博客 7589

Android实时监听并获取短信内容的两种方法

通过访问短信内容提供器可以获取手机内已存在的所有短信,但是有时候需要获取的只是刚接收到的第一条短信,比如登录账号时需要手机验证码,这就需要实时监听手机短信。 监听手机短信的到来有两种方法: (1)通过广播接收器:当手机收到一条短信时系统会发送一条广播:"android.provider.Telephony.SMS_RECEIVED",通过该广播就能够知道是否有新短信,通过该广播还可以获取到短信...

yuncaidaishu的博客 3万+

android studio设计短信监听,Android studio之广播监听接收短信

一. 在清单文件中(AndroidManifest.xml)添加短信权限这里我用的android studio版本是3.3的二.3.2以上的android studio可直接新建广播SMSReceiver类注意(这里新建的广播类,它默认为静态广播,所以在清单文件会自动生成以下代码)我用的是动态注册广播,这里注释掉直接上广播类SMSReceiver的代码public String msgBody="...

weixin_31174671的博客 1025

Android接收读取短信内容

一.注册短信接收广播: public static final String SMS_BORADCAST = "android.provider.Telephony.SMS_RECEIVED"; private void registerBoradcast() { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(SMS_BORADCAST); registerReceiver(broad

Johnny2004的专栏 3889
下一篇: [Android]从BroadcastReceiver到Activity的通信
runstoppable
博客等级 码龄10年 1粉丝 23原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值