Android提取短信中的验证码

本文介绍了如何在Android应用中监听短信变化,通过ContentObserver获取验证码,并使用正则表达式匹配,最后通过Handler更新UI自动填充验证码,实现免手动输入验证码的登录注册流程。
摘要由CSDN通过智能技术生成

现在用短信验证码来实现登录和注册功能已经越来越常见了。如果你想用户在收到短信验证码后,不需要再手动输入进去的话,而是自动填入,那么你就需要做些特殊处理了!

1.监听短信变化

    首先需要的是通过ContentObserver类中的OnChange()监听你的短信变化。简单的介绍下ContentObserver:内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理。

2.获取验证码

    检测到了短信变化后,读取该条短信的内容,并且通过正则表达式来获取内容中的验证码。

3.修改UI

    ContentObserver构造方法中有一个handler,通过handler来修改主线程中ui内容,将接收到的验证码呈现在ui上。


贴上代码,代码中有注释讲解:

MainActivity.java

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;


public class MainActivity extends Activity {
    private TextView mSmsT
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值