项目介绍

项目地址:

SmsObserverForAndroid

介绍

  • 这是一个用于拦截android实时短信的库,可以进行短信过滤,得到自己想要的内容,可以用于需要自动填写短信验证码的app项目

功能

  • 用于监听当前接收到的短信信息
  • 过滤接收到的短信,得到自己想要的内容

使用场景

  • 可以用于自动填写短信验证码的app项目
  • 自己想...

使用方法

所需权限

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

初始化

    /***
     * 构造器
     * @param context
     * @param callback 短信接收器
     * @param smsFilter 短信过滤器
     */SmsObserver smsObserver=new SmsObserver(this, new SmsResponseCallback() {@Overridepublic void onCallbackSmsContent(String smsContent) {//这里接收短信}}, new VerificationCodeSmsFilter("180"));

注册短信变化监听器

  • 在注册监听器以后,短信观察者就已经启动短信变化监听,接下只要接收短信,对短信做处理就可以了
    /***
     * 注册短信变化观察者
     *
     * @see [类、类#方法、类#成员]
     */smsObserver.registerSMSObserver();

注销短信变化监听器

  • 在不需要再使用短信接收功能的时候,请注销短信监听器,不然后续还是可以接收得到短信
    /***
     * 注销短信变化观察者
     *
     * @see [类、类#方法、类#成员]
     */smsObserver.unregisterSMSObserver();

短信过滤器

  • 要接收到自己想要的短信内容只要实现自己的SmsFilter短信过滤器即可
/**
 * 短信验证码过滤器
 *
 * @author 江钰锋 00501
 * @version [版本号, 16/6/2]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class VerificationCodeSmsFilter implements SmsFilter {/**
     * 需要过滤的发短信的人
     */private String filterAddress;public VerificationCodeSmsFilter(String filterAddress) {this.filterAddress = filterAddress;}@Overridepublic String filter(String address, String smsContent) {if (address.startsWith(filterAddress)) {Pattern pattern = Pattern.compile("(\\d{4,8})");//匹配4-8位的数字Matcher matcher = pattern.matcher(smsContent);if (matcher.find()) {return matcher.group(0);}}return null;}
}

关于作者Robin

  • 屌丝程序员
  • GitHub: Robin-jiangyufeng
  • QQ:429257411
  • 交流QQ群 236395044

android短信接收器的实现,可以实现自动填写短信验证码功能相关推荐

  1. 如何让我的应用自动填写短信验证码?

    问题分享 华为开发者论坛上有开发者向我们咨询:想要实现应用自动填写短信验证码,但如果将手机短信"验证码保护"功能打开,app就不能自动填写验证码,有没有什么方法能获取到短信验证码? ...

  2. android 短信验证码自动填写的二种方法

    转载自:https://blog.csdn.net/VirusDerekRuler/article/details/78506522 现在开发越来越注重用户体验了,现今Android基本都有短信验证功 ...

  3. android通话记录列表apk,android打电话,发短信,获取通讯录、通话记录、短信记录...

    [实例简介] 代码实现android打电话,发短信,获取通讯录.通话记录.短信记录 [实例截图] [核心代码] 19287b5f-b70c-4210-ab04-9d24ddd60788 └── cal ...

  4. Android自动填充短信验证码

    自动拦截短信实际上就是在系统注册一个BroadcastReceiver,然后通过设置拦截短信的: filter.addAction("android.provider.Telephony.S ...

  5. Android运行时权限,设置帮助类BaseActivity;电话权限,短信权限,

                                      Android运行时权限设置帮助类BaseActivity  一.电话权限 package com.glandroid.smssen ...

  6. 基于Android的短信应用开发(六)——将发出短信存至数据库

    到目前为止,我们所做的工作都是从手机数据库读取数据并加以显示,而这一次,我们要开始尝试其他类型的操作了,就是将用户发出的信息存至手机短信数据库中,按照惯例,还是先上图,看看效果怎么样再说吧.      ...

  7. Android 短信验证码自动填写

    这个也不是什么新东西,目前很多app都有这个功能,最近有几个小伙伴问我是怎么实现的,索性写一篇博客来为大家解答. 实现思路很简单:1.在需要输入验证码的Activity代码注册监听短信的广播 2.拦截 ...

  8. 基于Android的短信应用开发(三)——读取手机短信

    在上一次的学习中,我们读取了手机联系人并将其显示在短信界面上,而接下来,我们将开始读取手机短信了,下面先来看一下最终运行效果图吧. 首先看一下手机短信数据库,访问路径是:/data/data/com. ...

  9. android短信验证码代码,Android短信验证码自动填写实现代码

    今天给大家分享一个Android短信验证码自动填写的功能.先看下效果图,我发送了一条短信到手机,自动填写验证码.如图: 这个小功能运用到了观察者模式,什么是观察者模式? 观察者模式 :定义对象间的一种 ...

最新文章

  1. PIL中的Image和numpy中的数组array相互转换
  2. TypeError: pyqtSignal must be bound to a QObject
  3. some useful tricks
  4. 截取含HTML标签的字符串
  5. 网络中pkt是什么意思_网络流行语Cp、磕么?是什么意思?
  6. endnote如何导入txt文件_python如何处理txt及excel文件
  7. java 小数 乘法_javascript(js)的小数点乘法除法-Java架构师必看
  8. Linux 系统故障修复和修复技巧
  9. Opencl入门Demo
  10. android屏幕漂移,手机屏幕不受控制乱跳 触屏“飘逸”的解决方法
  11. jmeter性能测试~Beanshell
  12. 第一次破解unity3d安卓游戏笔记+IL指令集合
  13. 计算两个日期之间,相差多少天C语言详解
  14. 计算数学领域一些期刊(持续更新)
  15. C# 通过Http获取网页内容
  16. es模糊查询 java_java使用elasticsearch进行模糊查询之must使用
  17. windows10系统如何设置开机自启动
  18. MySQL 打开视图 1449_Mysql查询视图:ERROR 1449 (HY000)解决办法
  19. 对象上下文语义分割:OCR论文笔记(Object-Contextual Representations for Semantic Segmentation )
  20. java 二嗨租车项目_Java第二季租车系统参考

热门文章

  1. 句子重写任务近年有哪些值得关注的工作?看这一篇就够了!
  2. 新浪云生成互联网页面及域名
  3. C语言之动态内存开辟之malloc
  4. 论团队协作的一个小故事
  5. Velodyne VLP16 激光雷达测试
  6. ScyllaDB4.1分布式集群搭建与使用
  7. Netty实战二-实现UDP的单播和广播
  8. CVE-2019-11478 Sack SlownessExcess Resource Usage漏洞解析与利用
  9. 简易版 水下超声波通信
  10. Linux内核有加网速功能吗,Linux下使用有线网络和WiFi能不能叠加网速?网友评论不一...