如何通过联系人 ID 打开 QuickContact

Posted

技术标签:

【中文标题】如何通过联系人 ID 打开 QuickContact【英文标题】:How to open a QuickContact by Contact ID 【发布时间】:2014-09-06 12:54:30 【问题描述】:

我想知道如何通过“contactID”或“PhoneNumber”打开 QuickContact 然后开始活动

看起来像这样

这个教程看起来不错:how-to-use-quickcontactbadge-in-android

例如: 我有通过 ID 打开联系人的功能,我想要类似的方式 功能,但用于 QuickContactBadge

Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(mPerson.getContactID()));
intent.setData(uri);
context.startActivity(intent);

【问题讨论】:

【参考方案1】:

此代码示例提取自 Android 4.4.4

final Cursor cursor = mContext.getContentResolver().query(
        Profile.CONTENT_URI, null, null, null, null);
if (cursor.moveToNext() && !cursor.isNull(0)) 
    Intent intent = ContactsContract.QuickContact.composeQuickContactsIntent(
            mContext, v, ContactsContract.Profile.CONTENT_URI,
            ContactsContract.QuickContact.MODE_LARGE, null);
    mContext.startActivityAsUser(intent, new UserHandle(UserHandle.USER_CURRENT));

通过联系人 ID 打开快速联系人

Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contact_id));
Intent intent = ContactsContract.QuickContact.composeQuickContactsIntent(
    mContext, v, uri,
    ContactsContract.QuickContact.MODE_LARGE, null);
mContext.startActivity(intent);

【讨论】:

以上是关于如何通过联系人 ID 打开 QuickContact的主要内容,如果未能解决你的问题,请参考以下文章

如何使用联系人 ID 获取特定的联系电话

sqlite中如何通过外键关联两个数据库?

如何通过 Intent 向现有联系人添加电话号码?

如何在 Android 中获取联系人的所有详细信息

如何从android中的单个查询中获取联系人的名字,姓氏,电子邮件ID

Android 联系人:查找键如何工作?