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

时间:2018-06-27 22:09:59

标签: java android contacts contact

我需要从联系人处获取联系电话

我使用以下代码在onCreate中获取联系电话:

 buttonSelectContact.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
            startActivityForResult(intent, PICK_CONTACT);

        }
    });

并在onAcivityResult中使用以下代码:

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {

     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));
                String number = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.HAS_PHONE_NUMBER));
                etName.setText(name);
                etNumber.setText(number);
}

etName设置正确,但etNumber错误,其中的值为0或1 如何在etNumber中设置联系人号码?

1 个答案:

答案 0 :(得分:0)

这是我在onActivityResult中使用它的方式,它从一个片段中的联系人获取所有电话号码,因此,如果您从活动中进行操作,则必须取出getActivity()

ticks