自动填充短信验证码(使用ContentObserver)
来源:互联网 发布:银行资产证券化数据 编辑:程序博客网 时间:2024/05/04 03:27
转自:http://www.it165.net/pro/html/201406/15300.html
为了减少用户的操作步骤,在获得短信验证码的时候,我们可以监听特殊手机号码的短信,截取信息当中的短信验证码(其实有很多应用都监听短信例如360短信,一些信用卡或者是记账类的应用)。
原理:可以使用一个自定义的BroadcastReceiver来监听短信,在监听结果当中过滤手机号,在需要回填的activity当中实现实例化广播并且实现其回调接口,在接口当中进行回填验证码,在销毁activity时销毁链接。但是这样操作会出现一些问题,由于一些其他的应用也会使用广播监听手机例如QQ通讯录或者是360通讯录等有的时候会被其拦截,即使你修改优先级也会出现不能进行回填的问题。所有这里可以采用另外一种的解决方法:使用ContentProvider来监听短信数据库的变化,在自定义的ContentObserver当中实现onChange的方法进行监听特定手机号的短信,然后进行信息截取在填充到需要填充的位置。
1,在AndroidManifest当中需要的权限:
2,在oncreate()方法中注册短信库的监听:
3,SmsContent自定义的ContentObserver:
4,getDynamicPassword(smsBody)截取短信中六位数字验证码的方法
如果验证码的位数变化只要将6修改为想要的位数,过验证不只为数字直接修改正则为想要的内容即可。
5,在Activity销毁的时候要记得关闭数据库监听:
这样既可以实现短信监听自动回填,在回填的位置一般使用EditText不要使用TextView,因为android手机用户可能会禁止应用访问短信的权限应该支持手动填写。
- 自动填充短信验证码(使用ContentObserver)
- 自动填充短信验证码(使用ContentObserver)
- 自动填充短信验证码(使用ContentObserver)
- 自动填充短信验证码(使用ContentObserver)
- Android 应用中使用ContentObserver自动填写短信验证码
- 通过ContentObserver自动获取短信验证码
- 短信验证码自动填充
- 短信验证码自动填充
- 短信验证码自动填写认知之ContentObserver详解
- Android自动填充短信验证码
- Android自动填充短信验证码
- 自动获取短信验证码填充
- Android自动填充短信验证码
- Android 短信验证码自动填充
- 自动填充短信验证码实现方式
- Android实现自动填充短信验证码
- android短信验证码自动填充
- Android短信验证码自动填充
- PKI入门级介绍
- 正则表达式 学习手册 二
- Custom Events in JavaScript
- <<Java程序员面试宝典>>笔记
- 解决maven编译器和jdk不一致情况
- 自动填充短信验证码(使用ContentObserver)
- 引用类型(2)Date类型
- maven 根据环境打包不同配置文件
- Android Studio编译时Gradle报乱码
- win7下eclipse远程调试Hadoop遇到的问题解决办法
- CentOS 6.3下PostgreSQL 的安装与配置
- 数据结构与算法——线性表链式存储(单循环链表)
- 探索Domain Model系列
- Java中getResourceAsStream的用法