0
我一直在關注來自this網站的教程,以獲取Android中聯繫人的電話號碼。無法獲取最後聯繫人的電話號碼
我面對的問題是,我似乎無法得到最後一個聯繫電話號碼。 例如,如果我有3個聯繫人保存,它顯示了前2個號碼。
我張貼我的代碼以及如果它可以幫助任何人。
if(cur.getCount()>0){
while(cur.moveToNext()){
String id=cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if(Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)))>0){
pCur=getContentResolver().
query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone._ID+"=?",
new String[]{id}, null);
while(pCur.moveToNext()){
number.add(pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
}
}
pCur.close();
}
}
任何幫助,將不勝感激。 謝謝!
============================
編輯:對於那些有興趣以下是對工作的代碼我:
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
while (phones.moveToNext())
{
String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i("Details", "Name: "+name+" Number: "+phoneNumber);
}
phones.close();
感謝您的建議。這似乎並沒有爲我工作。我試着用不同的do-while循環,但不幸的是我的app force關閉了。這也是同樣的事情。 – Anirudh 2013-03-04 09:50:10
你應該能夠獲得所有具有上述代碼的手機的聯繫人。 – 2013-03-04 16:29:45
當我使用此代碼時,我的應用程序強制關閉。我從其他地方找到了合適的解決方案。無論如何,謝謝你的幫助。 – Anirudh 2013-03-05 05:40:27