0
如何获取特定联系人的电话号码?Android SDK-获取特定联系人的电话号码
到目前为止,我有这个
while (cursor.moveToNext()) {
String displayName = cursor.getString(cursor
.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
String contactId = cursor.getString(cursor.getColumnIndex(
ContactsContract.Contacts._ID));
if (Integer.parseInt(cursor.getString(
cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor phones = managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{contactId}, null);
while (phones.moveToNext()) {
phoneNumber = phones.getString(
phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
}
//phones.close();
}
else
phoneNumber = "No number";
tv.append(displayName);
tv.append(" ");
tv.append(phoneNumber);
tv.append("\n");
}
cursor.close();
}
虽然我得到正确的显示名称,对于他们中的每一个,我得到在目录中的第一个联系人的电话号码。 任何想法?
尝试将一些调试语句转储到光标的所有内容中,以便可以看到里面的内容。 – JoxTraex 2012-01-15 14:12:45