Android去除联系人列表中的微信号码

      前段时间做项目的时候发现如果授权微信联系人信息后,我的系统联系人列表中会多出一些联系人,进去一看是微信插入的。我再获取联系人列表的时候,会把这部分空的联系人一并拿到,当时在想怎么办这部分联系人过滤掉呢,无意间发现联系人中以这样一个字段account_type:通过Log日志发现他有好几种类型:sim ,系统的,神奇的发现了com.tencent.mm.account 于是乎我小高兴了一把,我再查询数据库的时候将其过滤。

下面是过滤代码

  Cursor c = cr
    .query(ContactsContract.Data.CONTENT_URI,
      null,
      "mimetype='vnd.android.cursor.item/phone_v2' or mimetype='vnd.android.cursor.item/name' and account_type!='com.tencent.mm.account'",
      null, "mimetype desc");

通过这个条件就能把微信空号联系人过滤掉

你可能感兴趣的:(Android)