一个小功能实现短线验证码验自动填写功能。
拿到这个功能时,首先需要怎么去拦截获取手机短信。就用观察着来观察系统里的短消息的数据库的变化,“表“内容观察者,只要数据库发生变化,都会出发该ContentObserver 的派生类。
于是,首先需要一个SMSContentObserver的监听类:
import android.content.Context;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.CursorIndexOutOfBoundsException;
import android.net.Uri;
import android.os.Handler;
import net.panatrip.debugtoolbox.log.Log;
import net.panatrip.biqu.manager.SMSManager;
import java.lang.ref.WeakReference;
//用来观察系统里短消息的数据库变化 ”表“内容观察者,只要信息数据库发生变化,都会触发该ContentObserver 派生类
public class SMSContentObserver extends ContentObserver {
private static String TAG = "SMSContentObserver";
private WeakReference<Context> mContext;
private Handler mHandler; //更新UI线程
public SMSContentObserver(Context context, Handler ha