我正在开发一个应用程序,我需要从内部电话簿中获取联系人和电子邮件..
在谷歌搜索后,我找到了以下获取电话号码和名称的代码。
主.java
Cursor numcur = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null);
if (numcur != null) {
while (numcur.moveToNext()) {
name = numcur.getString(numcur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
number = numcur.getString(numcur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
phonenumarray.add(number);
displaynamearray.add(name);
}
}
但是在这里获取电子邮件ID,他们使用单独的光标,如下所示..
Cursor emailcur = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, null,null, null);
if (emailcur != null) {
while (emailcur.moveToNext()) {
email = emailcur.getString(emailcur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1));
emailarray.add(email);
}
}
在这里,我们在向 listview 添加值时分别获取值,contact2 显示的是 contact7 邮件 id,而 contact3 显示的是 contat5 邮件 id,如下图所示。
那么,任何人都可以帮助我如何获取同一联系人的电话号码,邮件ID..