Android 使用联系人id加载联系人详细信息界面

Android 使用联系人id加载联系人详细信息界面,android,android-intent,android-contacts,Android,Android Intent,Android Contacts,我想使用联系人id访问“联系人详细信息”页面。该页面显示为图像。我试图这样做,但其加载联系人列表不是相关的“联系人详细信息”页面。这是我想使用相关联系人id访问的界面 我用了这段代码 Uri contactPhotoUri = Uri.withAppendedPath( ContactsContract.Contacts.CONTENT_URI, String.valueOf(contact

我想使用联系人id访问“联系人详细信息”页面。该页面显示为图像。我试图这样做,但其加载联系人列表不是相关的“联系人详细信息”页面。这是我想使用相关联系人id访问的界面

我用了这段代码

    Uri contactPhotoUri = Uri.withAppendedPath(
                        ContactsContract.Contacts.CONTENT_URI,
                        String.valueOf(contact.getContactId()));

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);

    intent.setDataAndType(contactPhotoUri,
                        "vnd.android.cursor.dir/contact");
    getActivity().startActivity(intent);
onActivityResult方法

ArrayList<Object> contactInfo = EntityUtils.getContact(reqCode,
                    resultCode, data, getActivity());
            addContact(contactInfo);
取得联系

@SuppressWarnings("deprecation")
public static ArrayList<Object> getContact(int reqCode, int resultCode, Intent data, FragmentActivity activity) {
    Uri contactData = data.getData();

    ArrayList<Object> contactInfo = null;
    String email = null;
    String officeEmail = null;
    Cursor c = activity.managedQuery(contactData, null, null, null, null);
    if (c.moveToFirst()) {
        String id = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));

        String hasPhone = c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
        // String hasEmail = c
        // .getString(c
        // .getColumnIndex(ContactsContract.Contacts.));
        String[] projection = new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER,
                ContactsContract.CommonDataKinds.Email.DATA, ContactsContract.Contacts._ID, ContactsContract.CommonDataKinds.Phone.PHOTO_URI};

        if (hasPhone.equalsIgnoreCase("1")) {
            Cursor phones = activity.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection,
                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + id, null, null);

            // To get Email ids of Contact
            Cursor emails = activity.getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, projection,
                    ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[]{id}, null);

            phones.moveToFirst();
            String cNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
            String name = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
            // String contactId = phones.getString(phones
            // .getColumnIndex(ContactsContract.Contacts._ID));
            String imageUri = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_URI));

            while (emails.moveToNext()) {
                email = emails.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
                // officeEmail = emails
                // .getString(phones
                // .getColumnIndex(ContactsContract.CommonDataKinds.OrganizationEmail.DATA));

            }

            Bitmap imageBitmap = loadContactPhoto(activity.getContentResolver(), Long.parseLong(id));

            // saveBitmapToFile(a);
            // create contact
            Contact contact = new Contact();
            contact.setFirstName(name);
            contact.setEmail(email);
            contact.setOfficeEmail(officeEmail);
            contact.setContactId(id);
            contact.setImageUri(imageUri);

            // create contactSourse
            ContactSource cs = new ContactSource();
            cs.setContactId(id);
            cs.setData(cNumber);
            cs.setType(email);

            contactInfo = new ArrayList<Object>();
            contactInfo.add(contact);
            contactInfo.add(cs);

        }

    }
    return contactInfo;
}

你能给我一个示例代码吗?如果有人知道如何使用联系人id实现此功能??请帮帮我