代码之家  ›  专栏  ›  技术社区  ›  Peter

从联系人中获取电话号码

  •  0
  • Peter  · 技术社区  · 11 年前

    我有一个按钮,我点击它可以显示联系人。它显示所选联系人的姓名,但不显示其号码。。。

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
    
                    Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
                    startActivityForResult(intent, 1);
                }
            });
        }
    
        @Override
        public void onActivityResult(int reqCode, int resultCode, Intent data) {
            super.onActivityResult(reqCode, resultCode, data);
            if (resultCode == Activity.RESULT_OK) {
                Uri contactData = data.getData();
                Cursor c = managedQuery(contactData, null, null, null, null);
                if (c.moveToFirst()) {
                    String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
                    contactName.setText(name);
    
                    Something here !!!!!!!!!!!!!!!!!!!!!!!!
    
                    contactName.setText(number);
                }
            }
        }
    }
    

    它字符串的名称,但我如何才能得到电话号码?

    @Override
    public void onActivityResult(int reqCode, int resultCode, Intent data) {
        super.onActivityResult(reqCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK) {
            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 number=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    
                contactName.setText(name);
                contactNumber.setText(number);
            }
        }
    

    使用此代码可以打开我的联系人。我触摸了一个,但它总是显示我添加到联系人中的最后一个姓名和号码。

    例如,我触摸 阿德里安(22222222) 它显示了Paul (33333333) 这是我添加的最后一个人。

    我该怎么办?

    1 回复  |  直到 11 年前
        1
  •  0
  •   Pawan Kumar    11 年前

    字符串phoneNumber=c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));