2010-11-29 9 views
6

J'utilise un sélecteur de contact comme suit:contacts Android RAW_CONTACT_ID vs contact_id

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

Ce que je veux savoir est de savoir si le dernier segment de chemin de l'URI retournée est la CONTACT_ID ou RAW_CONTACT_ID.

Dans le cas où c'est le CONTACT_ID, comment puis-je récupérer tous les RAW_CONTACT_ID s de ce contact?

Répondre

5

Vous obtiendrez contact_id que les données de retour.

En cas si vous avez besoin pour obtenir la liste de tous les RAW_CONTACT_ID du contact ici est ce que vous pouvez inclure dans

@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 
    } 
} 
+0

ce que nous devons passer comme des « données »? – AndroidRaji

+0

"data" (Intent) sera renvoyé par ContactPicker. J'ai formaté la réponse correctement. J'espère que c'est clair maintenant. –

0

Avez-vous besoin de pour utiliser le CONTACT_ID?

Sinon, je vous recommande d'utiliser LOOKUP_KEY à la place.

Voir 1 et 2