自动拦截短信实际上就是在系统注册一个BroadcastReceiver,然后通过设置拦截短信的:

 filter.addAction("android.provider.Telephony.SMS_RECEIVED");filter.setPriority(Integer.MAX_VALUE);

即可拦截你所需要的短信了,拦截短信可能需要设置下最新的时间,这个问题我也考虑到了,下一步是重写onrecever方法:

smsReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {Object[] objs = (Object[]) intent.getExtras().get("pdus");for (Object obj : objs) {byte[] pdu = (byte[]) obj;SmsMessage sms = SmsMessage.createFromPdu(pdu);String message = sms.getMessageBody();Log.d("短信内容", "message:" + message);// 短息的手机号。。+86开头?String from = sms.getOriginatingAddress();Log.d("短信来源", "from :" + from);// Time time = new Time();// time.set(sms.getTimestampMillis());// String time2 = time.format3339(true);// Log.d("logo", from + "   " + message + "  " + time2);// strContent = from + "   " + message;// handler.sendEmptyMessage(1);if (!TextUtils.isEmpty(from)) {String code = patternCode(message);if (!TextUtils.isEmpty(code)) {Message msg=new Message();msg.what=1;Bundle bundle=new Bundle();bundle.putString("messagecode", code);msg.setData(bundle);handler.sendMessage(msg);}}}}};

最后注册下broadcastrecevier,注意我们怎么捕捉到短信的那个验证码呢,大家肯定想到了截取字符串,但是这种方式比较笨拙,我这里用的正则表达式截取,String patternCoder = "(?<!\\d)\\d{6}(?!\\d)"。

转载于:https://www.cnblogs.com/zhujiabin/p/5685395.html

Android自动填充短信验证码相关推荐

  1. 自动填充短信验证码实现方式

    自动填充短信验证码 短信验证码是大部分软件里面都存在的功能,同时为了避免用户自己输入导致的繁琐操作,有一部分app设计者将其设置成了自动填充的方式,方便用户操作那么这种方式是什么实现的呢. 利用广播接 ...

  2. android 自动获取短信验证码

     很多项目中都会用到,自动获取验证码填到输入框,这样用户体验比较好,废话不多说,现在实现 用的是ContentObserver这个类,帮助我们来监听短信数据库发生的变化 package com.s ...

  3. Android自动获取短信验证码

    一.工具封装 public class GetCodeUtil extends ContentObserver {public static final String SMS_URI_INBOX = ...

  4. android短信接收器的实现,可以实现自动填写短信验证码功能

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

  5. android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解...

    <Android实现获取短信验证码的功能以及自定义GUI短信验证详解>由会员分享,可在线阅读,更多相关<Android实现获取短信验证码的功能以及自定义GUI短信验证详解(8页珍藏版 ...

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

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

  7. Android开发之短信验证码示例

    在说Android中的短信验证码这个知识点前,我们首先来了解下聚合数据 聚合数据介绍 聚合数据是一家国内最大的基础数据API提供商,专业从事互联网数据服务.免费提供从天气查询.空气质量.地图坐标到金融 ...

  8. android+自定义发彩信,Android实现获取短信验证码的功能以及自定义GUI短信验证

    短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息验证支付等.短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性. 目前市面上已经有了很多提供短信验 ...

  9. autojs自动获取短信验证码

    AutoJS 是一种基于 JavaScript 的自动化脚本语言,可以用于在 Android 设备上自动化操作. 如果你想使用 AutoJS 自动获取短信验证码,你可以使用 Android 的短信 A ...

最新文章

  1. POJ 1236 学校网络间的强连通
  2. 动态创建 Plist 文件
  3. 层次分析法(AHP)——matlab代码实现
  4. 容器编排技术 -- Kubernetes DNS Pod 与 Service 介绍
  5. selenium 定位方式5
  6. LeetCode(463)——岛屿的周长(JavaScript)
  7. 【回文串14】LeetCode 680. Valid Palindrome II
  8. python476集免费教材_476. 数字的补数 | python|python爬虫|python入门|python教程
  9. python urlopen错误_urlopen()出错
  10. Java判断一个实体类对象实例的所有成员变量是否为空
  11. BZOJ3757 苹果树
  12. 微信小程序项目实例——投骰子
  13. Shell中如何删除首行和尾行
  14. 【微前端】微前端——功能团队中缺失的一块拼图
  15. java linest_Java STLineSpacingRule類代碼示例
  16. 华为鸿蒙cpu,华为转投第三大CPU架构RISC-V?首款鸿蒙开发板曝光
  17. 什么是Visa payWave
  18. 计算机开机自检是如何工作的
  19. 初识数据分析与挖掘(python)
  20. 苹果系统引导修复工具_苹果客服渠道回应 iPhone 12 系列屏幕 “发绿”情况:将在新系统中修复...

热门文章

  1. x VDC(x=3、5、6、8、12、24、48)继电器的引脚连接方式
  2. sdut-1117 C语言实验——求绝对值(选择结构)
  3. Valid Sudoku
  4. 径向基函数插值(3)二维数据的插值
  5. 【解决方案】vue不是内部或外部命令
  6. c++:opencv读图后mat矩阵的基本操作
  7. HZOJ 赤(CF739E Gosha is hunting)
  8. git push 推送大文件失败的处理办法
  9. C#学习之Reflection
  10. Linux Restart PHP