Android 短信验证码自动填写

1.自定义Observer监听短信数据库变化(注意添加短信权限)
import android.app.Activity;
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Handler;
import android.text.TextUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by 001 on 17/3/22.
*/
public class SmsObserver extends ContentObserver {
public static final String SMS_URI_INBOX = "content://sms/inbox";
private Activity activity = null;
private String smsContent = "";
private SmsListener listener;
public SmsObserver(Activity activity, Handler handler, SmsListener listener) {
super(handler);
this.activity = activity;
this.listener = listener;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Cursor cursor = null;
// 读取收件箱中含有某关键词的短信
ContentResolver contentResolver = activity.getContentResolver();
cursor = contentResolver.query(Uri.parse(SMS_URI_INBOX), new String[] {
"_id", "address", "body", "read" }, "body like ? and read=?",
new String[] { "%关键词%", "0" }, "date desc");
if (cursor != null) {
cursor.moveToFirst();
if (cursor.moveToFirst()) {
String smsbody = cursor
.getString(cursor.getColumnIndex("body"));
String regEx = "[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(smsbody.toString());
smsContent = m.replaceAll("").trim().toString();
if (!TextUtils.isEmpty(smsContent)) {
listener.onResult(smsContent);
}
}
}
}
/*
* 短信回调接口
*/
public interface SmsListener {
/**
* 接受sms状态
*
* @Title: onResult
*/
void onResult(String smsContent);
}
}
2.使用:
SmsObserver smsObserver = new SmsObserver(this, new Handler(), new SmsObserver.SmsListener() {
@Override
public void onResult(String smsContent) {
//根据需求写
//如:editText.setText(smsContent);
} });this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, smsObserver);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# 短信验证码
# 验证码
# Android实现自动填充短信验证码
# Android开发工程中集成mob短信验证码功能的方法
# Android获取和读取短信验证码的实现方法
# Android实现短信验证码获取自动填写功能(详细版)
# Android开发中通过手机号+短信验证码登录的实例代码
# Android实现获取短信验证码并自动填写功能
# Android利用CursorLoader实现短信验证码自动填写
# Android实现短信验证码自动填写
# Android实现自动填写获取验证码功能
# Android短信验证码自动填写实现代码
# 关键词
# 收件箱
# 希望能
# 自定义
# 谢谢大家
# 回调
# 中含有
# regex
# util
# TextUtils
# Created
# Pattern
# Matcher
# SMS_URI_INBOX
# String
# sms
# private
# inbox
# final
相关文章:
如何配置支付宝与微信支付功能?
寿县云建站:智能SEO优化与多行业模板快速上线指南
长沙做网站要多少钱,长沙国安网络怎么样?
如何快速查询网站的真实建站时间?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
免费视频制作网站,更新又快又好的免费电影网站?
建站主机选哪家性价比最高?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何通过PHP快速构建高效问答网站功能?
,sp开头的版面叫什么?
盐城做公司网站,江苏电子版退休证办理流程?
PHP 500报错的快速解决方法
建站主机CVM配置优化、SEO策略与性能提升指南
青岛网站建设如何选择本地服务器?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
表情包在线制作网站免费,表情包怎么弄?
制作证书网站有哪些,全国城建培训中心证书查询官网?
创业网站制作流程,创业网站可靠吗?
黑客入侵网站服务器的常见手法有哪些?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
如何快速选择适合个人网站的云服务器配置?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何通过NAT技术实现内网高效建站?
MySQL查询结果复制到新表的方法(更新、插入)
如何快速完成中国万网建站详细流程?
如何快速搭建高效简练网站?
如何选购建站域名与空间?自助平台全解析
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
建站之星如何优化SEO以实现高效排名?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
建站OpenVZ教程与优化策略:配置指南与性能提升
定制建站策划方案_专业建站与网站建设方案一站式指南
建站主机与服务器功能差异如何区分?
制作网站的基本流程,设计网站的软件是什么?
网站制作网站,深圳做网站哪家比较好?
黑客如何通过漏洞一步步攻陷网站服务器?
建站之星在线客服如何快速接入解答?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
微信推文制作网站有哪些,怎么做微信推文,急?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
微信小程序 五星评分(包括半颗星评分)实例代码
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
网站制作模板下载什么软件,ppt模板免费下载网站?
如何在腾讯云服务器快速搭建个人网站?
如何用免费手机建站系统零基础打造专业网站?
如何在宝塔面板中创建新站点?
*请认真填写需求信息,我们会在24小时内与您取得联系。