android 短信监控

class SmsContent extends ContentObserver{  
        private Cursor cursor = null;  
        public SmsContent(Handler handler) {  
            super(handler);  
        }  
       
       
          
        /** 
         * @Description 当短信表发送改变时,调用该方法  
         *              需要两种权限 
         *              android.permission.READ_SMS读取短信 
         *              android.permission.WRITE_SMS写短信 
         */ 
        @Override 
        public void onChange(boolean selfChange) {  
            // TODO Auto-generated method stub  
            super.onChange(selfChange);  
            //读取收件箱中指定号码的短信  
            cursor = managedQuery(Uri.parse("content://sms/inbox"),
              new String[]{"_id", "address", "read"},
              "read=?",
              new String[]{"0"},
              "date desc");  
              
            if (cursor != null){  
                ContentValues values = new ContentValues();  
                values.put("read", "1");        //修改短信为已读模式  
                cursor.moveToFirst();  
                while (cursor.isLast()){  
                    //更新当前未读短信状态为已读  
                    getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{""+cursor.getInt(0)});  
                    cursor.moveToNext();  
                }  
            }  
        }
       
    }

posted on 2012-12-05 13:22  DDC's blog  阅读(300)  评论(0编辑  收藏  举报