Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中显示所有带有电话号码的联系人列表?_Android_Listview_Adapter_Contactscontract - Fatal编程技术网

在android中显示所有带有电话号码的联系人列表?

在android中显示所有带有电话号码的联系人列表?,android,listview,adapter,contactscontract,Android,Listview,Adapter,Contactscontract,可能重复: 是否可以使用电话簿中的电话号码创建我所有联系人的列表,但条件是如果没有电话号码,则只显示该记录的姓名。我希望所有这些都能在我的android应用程序中实现。我一直坚持这样做。通过这种方式,您可以找到所有没有联系人号码的联系人姓名 while (cur.moveToNext()) { String id = cur.getString(cur .getColumnIndex(ContactsContrac

可能重复:


是否可以使用电话簿中的
电话号码创建我所有
联系人的
列表
,但条件是如果没有
电话号码
,则只显示该记录的姓名。我希望所有这些都能在我的android应用程序中实现。我一直坚持这样做。

通过这种方式,您可以找到所有没有联系人号码的联系人姓名

while (cur.moveToNext()) {
                String id = cur.getString(cur
                        .getColumnIndex(ContactsContract.Contacts._ID));
                String name = cur
                        .getString(cur
                                .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
谢谢

读取所有联系人


@快速查看您的个人资料可以发现您已经提出了类似的问题,并且已经得到/接受了答案:将帮助您
 public void readContacts() {
 ContentResolver cr = getContentResolver();
 Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
 null, null, null);

 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) {
 System.out.println("name : " + name + ", ID : " + id);

 // get the phone number
 Cursor pCur = cr.query(
 ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
 null,
 ContactsContract.CommonDataKinds.Phone.CONTACT_ID
 + " = ?", new String[] { id }, null);
 while (pCur.moveToNext()) {
 String phone = pCur
 .getString(pCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
 System.out.println("phone" + phone);
 }
 pCur.close();

 // get email and type

 Cursor emailCur = cr.query(
 ContactsContract.CommonDataKinds.Email.CONTENT_URI,
 null,
 ContactsContract.CommonDataKinds.Email.CONTACT_ID
 + " = ?", new String[] { id }, null);
 while (emailCur.moveToNext()) {
 // This would allow you get several email addresses
 // if the email addresses were stored in an array
 String email = emailCur
 .getString(emailCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
 String emailType = emailCur
 .getString(emailCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));

 System.out.println("Email " + email + " Email Type : "
 + emailType);
 }
 emailCur.close();

 // Get note.......
 String noteWhere = ContactsContract.Data.CONTACT_ID
 + " = ? AND " + ContactsContract.Data.MIMETYPE
 + " = ?";
 String[] noteWhereParams = new String[] {
 id,
 ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE };
 Cursor noteCur = cr.query(
 ContactsContract.Data.CONTENT_URI, null, noteWhere,
 noteWhereParams, null);
 if (noteCur.moveToFirst()) {
 String note = noteCur
 .getString(noteCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Note.NOTE));
 System.out.println("Note " + note);
 }
 noteCur.close();

 // Get Postal Address....

 String addrWhere = ContactsContract.Data.CONTACT_ID
 + " = ? AND " + ContactsContract.Data.MIMETYPE
 + " = ?";
 String[] addrWhereParams = new String[] {
 id,
 ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE };
 // Cursor addrCur =
 // cr.query(ContactsContract.Data.CONTENT_URI,
 // null, null, null, null);
 Cursor addrCur = cr.query(
 ContactsContract.Data.CONTENT_URI, null, addrWhere,
 addrWhereParams, null);

 while (addrCur.moveToNext()) {
 String poBox = addrCur
 .getString(addrCur
 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));
 String street = addrCur
 .getString(addrCur
 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
 String city = addrCur
 .getString(addrCur
 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
 String state = addrCur
 .getString(addrCur
 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
 String postalCode = addrCur
 .getString(addrCur
 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
 String country = addrCur
 .getString(addrCur
 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
 String type = addrCur
 .getString(addrCur
 .getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));

 // Do something with these....

 }
 addrCur.close();

 // Get Instant Messenger.........
 String imWhere = ContactsContract.Data.CONTACT_ID
 + " = ? AND " + ContactsContract.Data.MIMETYPE
 + " = ?";
 String[] imWhereParams = new String[] {
 id,
 ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE };
 Cursor imCur = cr.query(ContactsContract.Data.CONTENT_URI,
 null, imWhere, imWhereParams, null);
 if (imCur.moveToFirst()) {
 String imName = imCur
 .getString(imCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Im.DATA));
 String imType;
 imType = imCur
 .getString(imCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Im.TYPE));
 }
 imCur.close();

 // Get Organizations.........

 String orgWhere = ContactsContract.Data.CONTACT_ID
 + " = ? AND " + ContactsContract.Data.MIMETYPE
 + " = ?";
 String[] orgWhereParams = new String[] {
 id,
 ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE };
 Cursor orgCur = cr.query(ContactsContract.Data.CONTENT_URI,
 null, orgWhere, orgWhereParams, null);
 if (orgCur.moveToFirst()) {
 String orgName = orgCur
 .getString(orgCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Organization.DATA));
 String title = orgCur
 .getString(orgCur
 .getColumnIndex(ContactsContract.CommonDataKinds.Organization.TITLE));
 }
 orgCur.close();
 }
 }
 }
 }