public class DemoActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Uri uri = Uri.parse("content://sms/");
//注册内容观察者
getContentResolver().registerContentObserver(uri, true, new SmsObserver(new Handler()));
}
public class SmsObserver extends ContentObserver{
public SmsObserver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange) {
System.out.println("有新的短信产生 ");
//content://sms/outbox表示的是发件箱的Uri
Cursor cursor = getContentResolver().query(Uri.parse("content://sms/outbox"),null, null, null, null);
while(cursor.moveToNext()){
StringBuilder sb = new StringBuilder();
sb.append("_id=").append(cursor.getInt(cursor.getColumnIndex("_id")));
//获取短信的收件人号码
sb.append(",address=").append(cursor.getString(cursor.getColumnIndex("address")));
//获取短信内容
sb.append(";body=").append(cursor.getString(cursor.getColumnIndex("body")));
//获取短信的发送时间
sb.append(";time=").append(cursor.getLong(cursor.getColumnIndex("date")));
System.out.println(sb.toString());
}
super.onChange(selfChange);
}
}
}
Android开发之通过ContentObserver窃听用户发出的短信
最新推荐文章于 2022-12-14 21:58:38 发布