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