Android ACTION_PICK 特定联系人的电话号码

Posted

技术标签:

【中文标题】Android ACTION_PICK 特定联系人的电话号码【英文标题】:Android ACTION_PICK phone number of specific contact 【发布时间】:2013-07-17 14:22:40 【问题描述】:

我知道如何创建一个意图让联系人应用显示特定联系人:

Intent intent = new Intent(Intent.ACTION_VIEW);  
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, mMyLookupKey);
intent.setData(uri);
startActivity(intent);

我也知道如何创建一个意图,让联系人应用让我选择一个电话号码:

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI)
// Explicitly set the 'type' to 'phone numbers' //
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);    
startActivityForResult(intent, REQUEST_PHONENR);

刚才我一直在尝试将这些结合起来,以便可以从特定联系人中选择电话号码:

Intent intent = new Intent(Intent.ACTION_PICK); 
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, mMyLookupKey);
intent.setData(uri);
// Explicitly set the 'type' to 'phone numbers'
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);    
startActivityForResult(intent, REQUEST_PHONENR);

有人知道这是可能的吗?

【问题讨论】:

【参考方案1】:
Intent pickContactIntent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
                        pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(pickContactIntent, 0);

【讨论】:

感谢您尝试 abhijith。您能否添加一些关于您的代码为何不同以及为什么/如何工作的 cmets?

以上是关于Android ACTION_PICK 特定联系人的电话号码的主要内容,如果未能解决你的问题,请参考以下文章

Android 联系人选择器:选择电话或电子邮件

使用 Intent.ACTION_PICK 时是不是可以排除 SIM 联系人?

如何导入特定联系人的电话号码?

使用 Intent.ACTION_PICK 读取电话号码和地址

Espresso 和 Android 联系人选择器

在 Contact ACTION_PICK Intent 顶部显示搜索栏