如何使用Android阅读联系号码

时间:2010-07-27 07:21:43

标签: 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();
    }                  
    }

提前致谢。

2 个答案:

答案 0 :(得分: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();

...谢谢!

答案 1 :(得分:1)

抱歉,我在代码中弄错了。现在很烦人。 代码是:

while(pCur.moveToNext())
{
String lname = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
       }                             }