Android联系人RAW_CONTACT_ID与CONTACT_ID

时间:2010-11-29 09:16:54

标签: android contacts

我使用的联系人选择器如下:

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
                                        Contacts.CONTENT_URI);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT)

我想知道的是返回的URI的最后一个路径段是CONTACT_ID还是RAW_CONTACT_ID

如果是CONTACT_ID,如何从此联系人中检索所有RAW_CONTACT_ID

2 个答案:

答案 0 :(得分:5)

您将获得CONTACT_ID作为返回数据。

如果您需要获取联系人的所有RAW_CONTACT_ID列表,请参阅

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {       
    super.onActivityResult(requestCode, resultCode, data);

     if ((requestCode == 1) && (resultCode == RESULT_OK)){

         Uri contactData = data.getData(); 
         // This gives the value of Contact URI                  
         Cursor c =  managedQuery(RawContacts.CONTENT_URI,  new String[] {RawContacts._ID}, RawContacts.CONTACT_ID + " = " +  contactData.getLastPathSegment(), null, null); 
         // This query would give you list of Raw_COntact_ID for the added contact
     }
}

答案 1 :(得分:0)

需要是否使用CONTACT_ID

否则,我建议您改用LOOKUP_KEY

请参阅12