本文介绍了查询的Andr​​oid取得联系ACCOUNT_TYPE和ACCOUNT_NAME的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我能获得联系人名单和他们喜欢的基本信息:姓名。电话,电子邮件,IMS,笔记,组织用于备份使用 ContactsContract.Contacts.CONTENT_URI 连络人及其他特定的URI不同的信息类型的列表。

我需要,以全面恢复所有信息两个字段:

Can anyone guide me how to obtain this info, knowing the Contact Id from ContactsContract.Contacts.CONTENT_URI ?

Thank you

解决方案
public ContactAccount getContactAccount(Long id,ContentResolver contentResolver) {

        ContactAccount account = null;

        Cursor cursor = null;
        try {

             cursor = contentResolver.query(ContactsContract.RawContacts.CONTENT_URI,
                     new String[]{ContactsContract.RawContacts.ACCOUNT_NAME, ContactsContract.RawContacts.ACCOUNT_TYPE},
                     ContactsContract.RawContacts.CONTACT_ID +"=?",
                     new String[]{String.valueOf(id)},
                     null);

            if (cursor != null && cursor.getCount() >0)
            {
                cursor.moveToFirst();
                account = new ContactAccount();
                account.setAccountName(cursor.getString(cursor.getColumnIndex(ContactsContract.RawContacts.ACCOUNT_NAME)));
                account.setAccountType(cursor.getString(cursor.getColumnIndex(ContactsContract.RawContacts.ACCOUNT_TYPE)));
                cursor.close();
            }
        } catch (Exception e) {
            Utils.log(this.getClass().getName(), e.getMessage()); 
        } finally{
          cursor.close();
        }

        return(account);
    }

这篇关于查询的Andr​​oid取得联系ACCOUNT_TYPE和ACCOUNT_NAME的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 00:13