Android 观察系统中短信内容的变化(内容观察者)

        //内容观察者(如果系统的短信发生了变化,比如刚获取一条短信,那么将触发onChange方法)
        ContentResolver contentResolver = getContentResolver();
        Uri uri = Uri.parse("content://sms/");
        contentResolver.registerContentObserver(uri, true, new ContentObserver(new Handler()) {
            @Override
            public void onChange(boolean selfChange) {
                Toast.makeText(MainActivity.this, "系统信息已经改变", Toast.LENGTH_LONG).show();
                //以下获取刚才变化的短信(比如是刚接收到的一条短信)
                String[] projection = {"_id", "address", "body", "date", "type"};
                Cursor cursor = getContentResolver().query(Uri.parse("content://sms/"), projection, null, null, null);
                cursor.moveToFirst();
                String body = cursor.getString(cursor.getColumnIndex("body"));
                System.out.println("body = " + body);
                cursor.close();
} });

 

posted @ 2013-11-15 19:41  无忧之路  阅读(469)  评论(0编辑  收藏  举报
无忧之路