Get first and last name of a contact rather than single display name?

后端 未结 3 1121
遇见更好的自我
遇见更好的自我 2020-12-16 22:10

I am currently working with the Android Contacts content provider and currently can access a contacts full display name without issue using the following code:



        
3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-16 22:35

            Cursor phone_cursor = cr.query(ContactsContract.CommonDataKinds.
                    Phone.CONTENT_URI, null, null, null, null);
            while (phone_cursor.moveToNext()) {
                try {
                int id = Integer.parseInt(phone_cursor.getString(phone_cursor.getColumnIndex
                        (ContactsContract.CommonDataKinds.Phone.CONTACT_ID)));
                Cursor name_cursor = cr.query(ContactsContract.Data.CONTENT_URI,null,
                        ContactsContract.Data.CONTACT_ID + "  = " + id, null, null);
    
                    String name = phone_cursor.getString(phone_cursor.getColumnIndex
                            (ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                    String first_name ="";
                    String last_name = "";
                    while (name_cursor.moveToNext()) {
                        if(name_cursor.getString(name_cursor.getColumnIndex
                                (ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME))!=null){
                        first_name = name_cursor.getString(name_cursor.getColumnIndex
                                (ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
                        last_name = name_cursor.getString(name_cursor.getColumnIndex
                                (ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
                    }}
                    name_cursor.close();
                    String phoneNumber = phone_cursor.getString(phone_cursor.getColumnIndex
                            (ContactsContract.CommonDataKinds.Phone.NUMBER));
                } catch (Exception e) {
                }
            }
            phone_cursor.close();
    

提交回复
热议问题