【发布时间】:2013-02-18 06:25:56
【问题描述】:
我一直在遵循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();
【问题讨论】:
标签: android android-contacts phone-number