2011-02-23 123 views
0

我只是想訪問聯繫人內容提供商。對於我寫下面的代碼訪問聯繫人內容提供商

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

    startManagingCursor(cur); 

    String[] result=new String[cur.getCount()]; 

    if(cur.moveToFirst()) 
    { 
     int nameidx=cur.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME); 
     int Ididx=cur.getColumnIndexOrThrow(ContactsContract.Contacts._ID); 
     String strName=cur.getString(nameidx); 
     String strId=cur.getString(Ididx); 

     result[cur.getPosition()]=strName+"("+strId+")"; 
    }while(cur.moveToNext()); 

    stopManagingCursor(cur); 
} 

但它顯示我想顯示所有可用的接觸,請告訴我該怎麼做,只有一個聯繫人姓名。

+0

你肯定的 「而」?我認爲這個問題在這裏 – Nanis 2011-02-23 11:12:20

+0

你在哪裏做的聲明?????? – 2011-02-23 11:16:46

+0

其實我錯過了我的做的聲明是這個問題。感謝 – Neha 2011-02-23 12:06:11

回答

1

試試這個,而不是

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

startManagingCursor(cur); 

String[] result=new String[cur.getCount()]; 

for (boolean hasData = cursor.moveToFirst(); hasData; hasData = cursor.moveToNext()) 
{ 
    int nameidx=cur.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME); 
    int Ididx=cur.getColumnIndexOrThrow(ContactsContract.Contacts._ID); 
    String strName=cur.getString(nameidx); 
    String strId=cur.getString(Ididx); 

    result[cur.getPosition()]=strName+"("+strId+")"; 
} 
stopManagingCursor(cur); 
} 
+0

你能告訴我寧可tha巢retrives _id我可以直接檢索電話號碼嗎??????? – Neha 2011-02-23 12:07:09

+0

試試這個http://www.vtgroup.com/#ContactsContract – ingsaurabh 2011-02-23 12:16:27