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

And*_*eas 2 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 }
Run Code Online (Sandbox Code Playgroud)

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

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);
Run Code Online (Sandbox Code Playgroud)

cde*_*nge 5

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