2010-03-15 3 views
1

J'ai une liste de 'n' identifiants de contact correspondant à ceux dont j'ai besoin pour obtenir les détails de contact. Un moyen simple de faire n requêtes en utilisant les identifiants de contact et de récupérer ces contacts. Mais cela prendra beaucoup de temps surtout si n est grand. Je voudrais savoir s'il existe un moyen plus simple d'obtenir ces résultats (comme une requête batch, etc.).Obtention de contacts lorsque les identifiants sont connus

Répondre

1
ContentResolver cr = context.getContentResolver(); 
String[] projection = new String[] { ContactsContract.Contacts._ID, 
       ContactsContract.Contacts.DISPLAY_NAME}; 
Cursor c = cr.query(ContactsContract.Contacts.CONTENT_URI, projection, 
       ContactsContract.Contacts._ID + " in ("+comma_delimited_ids+") , null, 
       ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"); 

alors vous pouvez boucler le curseur

if (c!=null) { 
      for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { 
         // your code to get details from cursor 
      } 
      c.close(); 
     } 
+0

Merci beaucoup. Cela a fonctionné pour moi comme un charme – pankajagarwal

Questions connexes