2010-11-23 9 views
0

Je suis en train de récupérer Téléphone Nombre donc en utilisantComment récupérer un identifiant d'un numéro de téléphone?

String addrWhere = Contacts.Phones.NUMBER + " = " + userNumber; 
    String id = ""; 
    Cursor c = mContext.getContentResolver().query(
    Contacts.Phones.CONTENT_URI, 
    new String[] { Contacts.Phones._ID }, addrWhere, null, null); 
    try { 
    if (c.getCount() > 0) { 
    c.moveToFirst(); 
    id = c.getString(0); 
    Log.i("IDS", id); 
    } 
    } finally { 
    c.close(); 
    } 
    return id; 

Quelqu'un peut-il me faire connaître mon erreur dans ce domaine?

Répondre

0

HI Chacun ... merci pour la réponse !!! @ Sotapanna Eh bien j'ai trouvé la réponse comme indiqué par Sotapanna

coller le code de travail pour tous ceux qui en ont besoin!

private String findID(String userNumber) { 
     Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri 
       .encode(userNumber)); 
     int id = 0; 
     String[] returnVals = new String[] { PhoneLookup._ID }; 
     Cursor pCur = mContext.getContentResolver().query(uri, returnVals, 
       PhoneLookup.NUMBER + " = \"" + userNumber + "\"", null, null); 
     if (pCur.getCount() > 0) { 
      pCur.moveToFirst(); 
      id = pCur.getColumnCount(); 
      if (id >= 0) { 
       id = pCur.getInt(0); 
      } 
     } 

     Log.i("Contacts", "" + id); 
     return String.valueOf(id); 
    } 
1

Essayez la solution à How to query ContactsContract.CommonDataKinds.Phone on Android? qui est l'utilisation de ContactsContract.PhoneLookup fournisseur:

Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); 
resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME,... 
+0

S'il vous plaît citer bits pertinents plutôt qu'un simple lien (sans aucun doute * * inclure le lien, mais * aussi * citation): http://meta.stackexchange.com/questions/8231/are-answers-that- just-contain-links-elsewhere-really-good-answers –

+0

J'ai édité ma réponse. – stpn108