Android从联系人列表中获取电话号码

Android从联系人列表中获取电话号码,android,contacts,Android,Contacts,这里是获取电话号码的代码,用于从联系人列表中检索电话号码。它从“名字”开始工作。但是我不能得到电话号码,请给我密码来得到电话号码。提前谢谢 cr = getContentResolver(); contactList = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null,null); if(contactList.getCount() > 0) {while(co

这里是获取电话号码的代码,用于从联系人列表中检索电话号码。它从“名字”开始工作。但是我不能得到电话号码,请给我密码来得到电话号码。提前谢谢

    cr = getContentResolver(); 
    contactList = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null,   null,null);      
    if(contactList.getCount() > 0)
    {while(contactList.moveToNext())
    {id = contactList.getString(contactList.             getColumnIndex(ContactsContract.Contacts._ID));
    name = contactList.getString(contactList.         getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
    number = contactList.getString(contactList.
getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
        cntctArrayList.add(number);             
    Log.e("", name);
    System.out.println("Contact_id:"+id+"Contact name:"+number);}
}
试试这个:

   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 phoneNo =   pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    }

                }
            }
  }
public void getContactPhoneNumber()
{       
游标c1=this.getContentResolver().query(
Contacts contract.Contacts.CONTENT_URI,null,null,null,null);
字符串personName=null,number=null;
尝试
{
如果(c1.getCount()>0)
{
int i=0;

而(c1.moveToNext()&&iok)欢迎接受答案并为我投票,这将用于未来的搜索用户。。。
public void getContactPhoneNumbers()
{       
    Cursor c1 = this.getContentResolver().query(
            ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

    String personName = null, number = null;
    try 
    {
        if(c1.getCount() > 0)
        {
            int i=0;
            while(c1.moveToNext() && i<10)
            {
                i++;
                String id = c1.getString(
                        c1.getColumnIndex(Contacts._ID));
                //Below code will get contact name
                personName = c1.getString(
                        c1.getColumnIndex(Contacts.DISPLAY_NAME));
                Toast.makeText(getApplicationContext(), 
                        "name.."+personName,
                        0).show();
                //based on id, now you can find email of that person
                Cursor cn = this.getContentResolver().
                            query(CommonDataKinds.Email.CONTENT_URI, 
                            null, 
                            CommonDataKinds.Email.CONTACT_ID +" = ?", 
                            new String[]{id}, null);
                while(cn.moveToNext())
                {
                    number = cn.getString(
                            cn.getColumnIndex(
                                    CommonDataKinds.Email.ADDRESS));
                    int type = cn.getInt(
                            cn.getColumnIndex(
                                    CommonDataKinds.Phone.TYPE));
                    Toast.makeText(getApplicationContext(), 
                            "email.."+number+".."+type,
                            0).show();
                }
                //based on id, you can also now find his phone numbers
                Cursor cur = this.getContentResolver().
                            query(CommonDataKinds.Phone.CONTENT_URI, 
                            null, 
                            CommonDataKinds.Phone.CONTACT_ID +" = ?", 
                            new String[]{id}, null);
                while(cur.moveToNext())
                {
                    number = cur.getString(
                            cur.getColumnIndex(
                                    CommonDataKinds.Phone.NUMBER));
                    int type = cur.getInt(
                            cur.getColumnIndex(
                                    CommonDataKinds.Phone.TYPE));
                    Toast.makeText(getApplicationContext(), 
                            "number.."+number+".."+type,
                            0).show();
                }
            }
        }
    }
    finally
    {
        c1.close();
    }
}