【问题标题】:Android Get phone number from contactlistAndroid 从联系人列表中获取电话号码
【发布时间】:2013-12-04 19:09:50
【问题描述】:

在这里,获取电话号码的代码以从联系人列表中检索电话号码。它适用于“名称”。但我无法获取电话号码请给我代码以获取电话号码。在此先感谢........

    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);}
}

【问题讨论】:

    标签: android contacts


    【解决方案1】:

    试试这个:

       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));
        }
    
                    }
                }
      }
    

    【讨论】:

    • 好的,欢迎接受答案并为我投票,以供将来搜索用户使用...
    【解决方案2】:
    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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-04-13
      • 2013-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 2014-05-26
      相关资源
      最近更新 更多