下面的方式会把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);
}
}
跪求解答~
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);
}
}
跪求解答~
ContactsContract.RawContactsEntity.CONTENT_URI
这个URI能取到SIM卡联系人?
源码代码被修改过还是现在更新了哈
试试这个哈RawContacts.CONTENT_URI
好久没看过这些代码了
其实这个自己去contacts代码中找呢