我只想获得我收到的短信,但是我修改URI,改为sent draft inbox,无论怎么改,得到的总是所有短信,请问怎么解决啊?
我的代码如下: 
     final Uri SMS_INBOX_CONTENT_URI = Uri.parse("content://sms/inbox");
      final ContentResolver contentResolver = mContext.getContentResolver();
      mCursor = contentResolver.query(SMS_INBOX_CONTENT_URI, 
                 new String[] {"_id,address,person,date,read,status,type,body,count(address) as "
                            + "totleCount from (select _id,substr(address,4) as address,person,date,read,status,type,body "
                            + "from sms where address like \"+86%\" union select _id,address,person,date,read,status,type,body "
                            + "from sms where address not like \"+86%\") r group by r.address order by r.date desc --"},
      null, null, null);

解决方案 »

  1.   

    有like又not like,那么union的意义做何用?用FROM sms就是所有短信了,跟uri就没关系了。
      

  2.   

    这段代码是网上扒过来的,like和 not like我觉得是用来把+86和不带+86的相同号码归为一类吧。如果我只想query inbox的号码的话,应该写from什么呢?我试过写from sms/inbox
    from inbox,都不行啊
      

  3.   

    简单的方法,直接先写好一个sql语句,然后找个ide, 如firfox sqlite manager plugin,去执行一下这个sql.
    你的这个sql把like和not like进行了 union,那肯定是全部的数据了。