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

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

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

     smsReceiver = new BroadcastReceiver() {
@Override
public 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)"。

自动填充短信.zip

android自动填充短信验证码的更多相关文章

  1. Android自动读取短信验证码

    Android自动读取短信验证码  extends:http://www.cnblogs.com/jiayaguang/p/4366384.html,http://blog.csdn.net/yung ...

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

    前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码.主要就是实时获取短信信息.android上获 ...

  3. iOS开发——自动填充短信验证码

    苹果在iOS 12,改进了一个很人性化的小细节.在做短信验证码功能的时候,自动获取短信中的验证码,然后点击填充即可.不用再向之前那样麻烦,自己看到弹出的短信信息后,死记硬背,再一个个敲上去,害怕背错了 ...

  4. android自动填写短信验证码

    广播类 package com.examp.azuoyoutong.listner; import java.util.regex.Matcher;import java.util.regex.Pat ...

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

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

  6. 转载:Android自动化测试- 自动获取短信验证码

    前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码. 主要就是实时获取短信信息. android ...

  7. android中如何自动获取短信验证码

    package com.loaderman.smsbroadcastreceiver; import java.util.regex.Matcher; import java.util.regex.P ...

  8. Andorid自动读取短信验证码

    手机收到验证码短信后,程序自动识别验证码并填充验证码输入框. 思路是有了,实现的方式也有多种: 1.开启一个线程,隔一段时间就去查询收件箱是否有变化,有变化再读取出来做处理. 2.注册一个短信变化的广 ...

  9. Android注冊短信验证码功能

    一.短信验证的效果是通过使用聚合数据的SDK实现的 ,效果例如以下: 二.依据前一段时间的博客中输了怎么注冊! 注冊之后找到个人中心找到申请一个应用就可以! 三.依据官方文档创建项目 官方文档API下 ...

随机推荐

  1. poj1151Atlantis(离散化+扫描线)

    http://poj.org/problem?id=1151 http://www.cnblogs.com/kane0526/archive/2013/02/26/2934214.html这篇博客写的 ...

  2. UVa 1471 (LIS变形) Defense Lines

    题意: 给出一个序列,删掉它的一个连续子序列(该子序列可以为空),使得剩下的序列有最长的连续严格递增子序列. 分析: 这个可以看作lrj的<训练指南>P62中讲到的LIS的O(nlogn) ...

  3. HNOI2008Cards

    看了一下polya和burnside定理,感觉还行(就是不会证……) 这题用的是burnside ans=在每个置换群下不动的方案数之和除以置换数 这题有个难点在取模 关于对p(p为素数)取模(涉及到 ...

  4. 用TIMESTAMP类型取代INT和DATETIME

    时间在我们开发中应用非常普遍,大部分开发中我们将用Mysql的datetime格式来存储,但是对于经常用时间来排序或者查询的应用中,我们要将时间做成索引,这个就跟查询效率很有关系,但是很多程序员会用i ...

  5. apache开源项目--Sirona

    Apache Sirona 为 Java 应用程序提供了一个简单但可扩展的监控解决方案. apache / sirona

  6. linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)

    mkfs 命令  linux格式化磁盘命令           linux mkfs         指令:mkfs 使用权限 : 超级使用者 使用方式 : mkfs [-V] [-t fstype] ...

  7. [Irving]SqlServer 标量函数 详解【转】

    --创建用户定义函数.这是一个已保存 Transact-SQL 或公共语言运行时 (CLR) 例程,--该例程可返回一个值.用户定义函数不能用于执行修改数据库状态的操作.--与系统函数一样,用户定义函 ...

  8. 一个HR给应届毕业生的面试建议 后悔看到的太晚了 (转)

      开始之前务必记住: 黄金法则:80/20---你要承担起80%的谈话而面试官只会说20%.      白金法则:你必须试着控制面试的节奏和话题.      钻石法则:对于没有把握的问题,抛回给面试 ...

  9. 相当管用了 mstha插件

    http://www.i-magical.com/2010/04/feizhuliu-kill-virus-mshta-exe/ 非主流杀毒 – mshta.exe Vincent | Apr 23, ...

  10. 【原创】tcp协议那块一些点(想到了再加)

    1.3次握手 4次握手 2.那张状态图,FIN_WAIT主动关闭方,CLOSE_WAIT被动关闭方 主动关闭方发出FIN后进入FIN_WAIT,FIN_WAIT方收到了ACK和FIN,发出了ACK,则 ...