2010-06-27 67 views
4

我想从手机中获取联系人,但所能获得的是名称,电话号码返回null。Android People.Number和People.Number_key返回null

 Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null,People.NAME + " ASC"); 
    startManagingCursor(cursor); 
    cursor.moveToFirst(); 
    if(cursor.getCount() > 0){ 
    while(cursor.moveToNext()){ 
    int idCol = cursor.getColumnIndex(People._ID); 
      int nameCol = cursor.getColumnIndex(People.NAME); 
      int numCol = cursor.getColumnIndex(People.NUMBER_KEY); 

      String name = cursor.getString(nameCol); 
      String number = cursor.getString(numCol); 
    //mDbHelper.addContact(managedCursor.getString(1),managedCursor.getString(2)); 
    Log.v("contact.add",name+" - "+number); 
    } 

任何想法?

约3小时后,我已经想通了:

ContentResolver cr = getContentResolver(); 
     Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, 
       null, null, null, null); 
     if (cur.getCount() > 0) { 
     cur.move(-1); 
    while (cur.moveToNext()) { 
     String id = cur.getString(
         cur.getColumnIndex(ContactsContract.Contacts._ID)); 
    String name = cur.getString(
         cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
    if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
    if (Integer.parseInt(cur.getString(
        cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
        Cursor pCur = cr.query(
     ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
     null, 
     ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", 
     new String[]{id}, null); 
      while (pCur.moveToNext()) { 

     Log.v("Phone",""+pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))+" - "+name); 
     i++; 
      } 
      pCur.close(); 
     } 

      } 
      } 
    } 
+0

小心与联系的东西。它的不同之间的Android版本:( – Macarse 2010-06-27 05:24:23

+0

@Macarse你的权利,我忘了发布它是2.0写的,但我的应用程序使用其他2.0的功能,所以它适用于我 – shaneburgess 2010-06-27 22:49:38

回答

0

的电话号码列People.NUMBER,不People.NUMBER_KEY。

+0

我也试过。 – shaneburgess 2010-06-27 03:22:06