从android中的联系人列表中挑选电话或电子邮件

时间:2017-04-11 09:06:54

标签: android

在一个Android项目中,我有这个意图从我的联系人列表中选择一个电话号码

        btnContacts.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Open Contacts
            Intent intent= new Intent(Intent.ACTION_PICK,  ContactsContract.Contacts.CONTENT_URI);
            intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
            startActivityForResult(intent, PICK_CONTACT);
        }
    });

这是为了得到结果

    @Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);

    switch (reqCode) {
        case (PICK_CONTACT) :
            if (resultCode == Activity.RESULT_OK) {
                Uri contactUri = data.getData();
                String[] projection = new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME };
                Cursor cursor = getActivity().getContentResolver().query(contactUri, projection, null, null, null);
                if (cursor != null && cursor.moveToFirst()) {
                    insertedPhoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                    String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                    formatContact(insertedPhoneNumber, name);
                }
            }
            break;
    }
}

我想知道是否有办法进行相同的操作,但如果联系人dindt有电话号码,我会转回电子邮件。

1 个答案:

答案 0 :(得分:0)

  

我想知道是否有办法进行相同的操作,但如果联系人dindt有电话号码,我会转回电子邮件。

没有。你问电话号码你得到的电话号码。如果您需要额外的逻辑或if,那么您需要自己编写代码。