ContentObserve --- 短信的监听

【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);

            }

            

        }

}



猜你喜欢

转载自blog.csdn.net/Cricket_7/article/details/84864063