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