在上一篇博客中讲到通过广播获取短信验证码,但是存在缺陷。这里讲一下如何通过ContentObserver来实现这个功能。关于ContentObserver这里就不再介绍了,主要是利用ContentObserver能监控到手机短信箱内容变化的原理来实现,实现过程如下文。
首先写一个类继承ContentObserver,重写onChange方法:
public class SmsContentObserver extends ContentObserver {
private String smsInboxUri = "content://sms/inbox";
private Context ctx;
private String sortOrder;
private String address = "10001";// 发送短信地址
public SmsContentObserver(Context ctx, Handler handler) {
super(handler);
this.ctx = ctx;
sortOrder = Sms.DATE + " desc";
}
@Override
public void