2011-10-18 60 views

回答

1

如果在1.5實現它,然後有可能是URI的一個小的差異。您應該在2.1中查找聯繫人的更新/更改的URI。爲了進一步理解這裏是2.1更新的示例代碼:

ContentResolver cr = getContentResolver(); 
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
while (cur.moveToNext()) 
     { 
      String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID)); 

      //---------------------------------------- Contact Names   
      //------------------------------------------------------ 
      String DisplayName = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
      Cursor names = cr.query(ContactsContract.Data.CONTENT_URI, null,ContactsContract.Data.CONTACT_ID + " = " + id, null, null); 
      names.moveToNext(); 
      String GivenName = names.getString(names.getColumnIndex(ContactsContract.Data.DATA2)); 
      String FamilyName = names.getString(names.getColumnIndex(ContactsContract.Data.DATA3)); 
      String MiddleName = names.getString(names.getColumnIndex(ContactsContract.Data.DATA5)); 
      names.close(); 


      //----------------------------------------- Phone Numbers 
      //------------------------------------------------------- 
      String hasPhoneNumber = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
      if (hasPhoneNumber.equals("1")) 
      { 
       Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id,null, null); 
       while (phones.moveToNext()) 
       { 
             ...... 
       } 
      } 
     } // AND SO ON.... Get which ever data you need. 

所以上面只是我用於我的任務的示例代碼。您可以通過相應地進行更改來獲得所需的內容。我希望它有幫助。

1

這將幫助您獲取聯繫人。

Cursor contactList = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null,null, null); 

爲了得到一個特定聯繫人的電話號碼,你需要使用:

String id = contactList.getString(cur.getColumnIndex(ContactsContract.Contacts._ID)); 

Cursor phoneCursor = getContentResolver().query(
         ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
         new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER}, 
         ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", 
         new String[]{id}, null); 
相關問題