【1】创建contentOvserver 观察短信动态。
【2】通过 getContentResolver获取解析者。
【3】调用query 查询 通过游标获取短信内容。打印。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//[1]注册内容观察者
Uri uri = Uri.parse("content://sms/");
getContentResolver().registerContentObserver(uri, true, new MyContentObserver(new Handler()));
}
//定义内容观察者
private class MyContentObserver extends ContentObserver{
public MyContentObserver(Handler handler) {
super(handler);
}
//当我们观察的内容发生变化 这个方法就执行
@Override
public void onChange(boolean selfChange) {
Uri uri = Uri.parse("content://sms/");
Cursor cursor = getContentResolver().query(uri, new String[]{"address","body","date"}, null, null, null);
cursor.moveToFirst();
String address = cursor.getString(cursor.getColumnIndex("address"));
String body = cursor.getString(1);
System.out.println("address:"+address+"~~~"+body);
}
}
}