下面的方式会把sim卡的联系人和本机的联系人读取出来.如何只读取 android的联系人而不去读取sim卡的联系人 ?
Cursor cursor = contentResolver.query(ContactsContract.RawContactsEntity.CONTENT_URI, null,
ContactsContract.Data.CONTACT_ID + " = " + contact_Id,
null, null);
while (cursor.moveToNext()) {
String mime = cursor
.getString(cursor
.getColumnIndexOrThrow(ContactsContract.RawContactsEntity.MIMETYPE));
int type = -1;
if (mime.endsWith("/name")) {
// Name_Given_name =75 Name_Family_name =76;
String given_name = cursor
.getString(cursor
.getColumnIndexOrThrow(ContactsContract.RawContactsEntity.DATA2));
String family_name = cursor
.getString(cursor
.getColumnIndexOrThrow(ContactsContract.RawContactsEntity.DATA3));
if (given_name != null && !given_name.equals("")) {
list.add(String.valueOf(Contact.Name_Given_name));
list.add(given_name);
}
if (family_name != null && !family_name.equals("")) {
list.add(String.valueOf(Contact.Name_Family_name));
list.add(family_name);
}

跪求解答~

解决方案 »

  1.   

    我们可以把sim卡拔了,就读取不到了,不过不是很完美,进入飞行模式也读取不到的应该
      

  2.   

    MARK
    ContactsContract.RawContactsEntity.CONTENT_URI
    这个URI能取到SIM卡联系人?
    源码代码被修改过还是现在更新了哈
    试试这个哈RawContacts.CONTENT_URI
    好久没看过这些代码了
    其实这个自己去contacts代码中找呢
      

  3.   

    各路大神,有没有这个问题的解决方法啊?ANDROID2.2的