2010-07-27 66 views
1

我想使用Android閱讀電話號碼和姓名。我使用了下面的代碼。它只能讀取手機名稱。我如何閱讀電話號碼。我在Android中很新。任何一個人都可以。如何使用Android閱讀聯繫電話號碼

ContentResolver cr = getContentResolver(); 

Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 

if (cur.getCount() > 0) 
{ 

    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) 
    { 
      Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{id}, null);  
     while (pCur.moveToNext()) 
      { 
       String lnumber = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
      } 
     pCur.close(); 
    }     
    } 

在此先感謝。

+0

此代碼看起來相當低效。你究竟想讀什麼?只是所有聯繫人的電話號碼,沒有其他詳細信息? – 2010-07-27 11:33:30

回答

1

對不起,我錯了代碼中的東西。它的工作現在。 該代碼將是:

而(pCur.moveToNext())
{
字符串L-NAME = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}}

2

使用一種簡單的方法來閱讀顯示的姓名和電話號碼下面的代碼...!

Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null); 
while (phones.moveToNext()) 
{ 
    String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
    String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
} 
phones.close(); 

謝謝....!

相關問題