【问题标题】:Pick a contact from the Contacts app; but only list contacts with email从联系人应用程序中选择一个联系人;但只列出带有电子邮件的联系人
【发布时间】:2013-04-13 14:11:25
【问题描述】:

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

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);

【问题讨论】:

  • 我有同样的问题,但不是在所有设备上看起来都这样。在我的装有 Android 2.3.5 的 HTC Desire S 上它可以工作。但是其他设备上的相同应用程序(开发人员控制台中的未知/错误报告)它会得到完全相同的消息。你修好了吗?有没有机会我们可以直接联系一起解决这个问题?这里的错误信息:android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.GET_CONTENT typ=vnd.android.cursor.item/email_v2 } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:14...
  • 你们能解决这个问题吗?我在旧的 2.3.7 设备(Droid 1)上遇到了同样的问题,系统中根本没有提供 email_v2。它适用于电话号码,但不适用于电子邮件。我们是否坚持检查是否可用并且必须提供我们自己的?

标签: android android-intent android-contacts


【解决方案1】:

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

【讨论】:

  • 我看到很少有电子邮件被它戴了吗?
  • 可能。有时它会向人们显示您仅发送过电子邮件,甚至在您的联系人应用程序中都不存在。这是一个我无法解决的已知“问题”。
猜你喜欢
  • 2019-06-03
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
相关资源
最近更新 更多