从联系人应用中选择一个联系人;但只列出电子邮件联系人

时间:2012-10-14 13:33:34

标签: android android-intent android-contacts

我正在尝试根据他们的信息选择联系人,它正在为电话号码工作(据我所知);但是当我尝试仅使用电子邮件选择联系人时,它会失败并出现以下错误:

Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.GET_CONTENT typ=vnd.android.cursor.item/email_v2 }

这是我的代码(或者更重要的部分):

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
if( SMS )
  intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
if( EMAIL )
  intent.setType(ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
startActivityForResult(intent, PICK_CONTACT);

1 个答案:

答案 0 :(得分:5)

我认为你应该使用Intent intent = new Intent(Intent.ACTION_PICK, uri),其中uri是CommonDataKinds.Email.CONTENT_URICommonDataKinds.Phone.CONTENT_URI中的一个。这样,它只会显示带有电子邮件或电话的联系人。