private void displayAllContactsByType(String accountName) {
Cursor rawCursor = null;
try {
rawCursor = mCProviderClient.query(
ContactsContract.RawContacts.CONTENT_URI,
null,
ContactsContract.RawContacts.ACCOUNT_NAME + "= ?",
new String[]{accountName},
null);
} catch (RemoteException e) {
e.printStackTrace();
}
int contactIdColumn = rawCursor.getColumnIndex(ContactsContract.RawContacts.CONTACT_ID);
Utils.Log("Raw Size", " " + rawCursor.getCount());
while (rawCursor.moveToNext()) {
String contactId = rawCursor.getString(contactIdColumn);
// Utils.Log("contactId ",contactId);
storeContactDetails(contactId);
}
if (contactList != null) {
contactListener = (ContactListener) context;
contactListener.updateView(contactList);
}
}
我正在获取原始联系人包含的所有帐户名称。我想获得所有联系人属于特定的帐户名称,但我得到空联系人ID。我如何才能将所有联系人ID与特定的帐户名称以及该联系人ID的相应数据一起使用?在Android中的原始联系人中使用帐户名查询时获取Null联系人ID
您的'contactList'初始化在哪里? – Eselfar
它已正确初始化。我的意思是全球性的,我得到这里null null String contactId = rawCursor.getString(contactIdColumn); –
我很少使用游标,所以我可能是错的,但这不是因为你接下来移动而没有检查接下来有什么东西吗?尝试'while(rawCursor.isAfterLast()== false)'而不是'while(rawCursor.moveToNext())'建议[here](http://www.higherpass.com/android/tutorials/accessing-data- with-android-cursors/2 /) – Eselfar