Android 短信验证码自动填写
发布时间 - 2026-01-11 01:54:23 点击率:次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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
海南网站制作公司有哪些,海口网是哪家的?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
如何选择可靠的免备案建站服务器?
Python制作简易注册登录系统
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
php json中文编码为null的解决办法
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
奇安信“盘古石”团队突破 iOS 26.1 提权
html如何与html链接_实现多个HTML页面互相链接【互相】
如何快速搭建高效香港服务器网站?
如何在万网利用已有域名快速建站?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
潮流网站制作头像软件下载,适合母子的网名有哪些?
Android GridView 滑动条设置一直显示状态(推荐)
在线制作视频网站免费,都有哪些好的动漫网站?
BootStrap整体框架之基础布局组件
Linux后台任务运行方法_nohup与&使用技巧【技巧】
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
焦点电影公司作品,电影焦点结局是什么?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Java解压缩zip - 解压缩多个文件或文件夹实例
北京专业网站制作设计师招聘,北京白云观官方网站?
七夕网站制作视频,七夕大促活动怎么报名?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
nginx修改上传文件大小限制的方法
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
如何快速搭建安全的FTP站点?
js代码实现下拉菜单【推荐】
创业网站制作流程,创业网站可靠吗?
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
如何在腾讯云免费申请建站?
如何在IIS中新建站点并配置端口与IP地址?
如何用搬瓦工VPS快速搭建个人网站?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
如何在宝塔面板创建新站点?
如何解决hover在ie6中的兼容性问题
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
非常酷的网站设计制作软件,酷培ai教育官方网站?
Laravel怎么清理缓存_Laravel optimize clear命令详解
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Java垃圾回收器的方法和原理总结
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程

