Android获取最新发送短信的基本信息,没有之一
注册:
getContentResolver().registerContentObserver(
Uri.parse("content://sms"), true,
new SmsObserver(this, new Handler()));
监听:
//用于检测发出的短信
public class SmsObserver extends ContentObserver {
private Context context;
public SmsObserver(Context context, Handler handler) {
super(handler);
this.context = context;
}
public void onChange(boolean selfChange) {
Cursor cursor = getContentResolver().query(Uri.parse("content://sms/outbox"), null, null, null, null);
// 遍历查询结果获取用户正在发送的短信
if (cursor.moveToLast()) {
StringBuffer sb = new StringBuffer();
// 获取短信的内容
sb.append(cursor.getString(cursor.getColumnIndex("body")));
// 获取短信的发送时间
if(isSendMail && sb.toString().equals("")){
isSendMail = false;
//操作
}
}
}
}
注意:onChange可能是回调两次的。所以需要自己利用标记tag控制只走一次操作。