2

我需要检索存储在设备中的用户的所有电子邮件地址(不是他朋友的电子邮件地址,而是他自己的电子邮件地址)。例如,如果我有三个邮件地址 geltrude@gmail.com、geltry@yahoo.co.uk 和 cippalippa@hotmail.com,我正在寻找一种方法,该方法返回一个包含这三个字符串的数组(或类似的): [“geltrude@gmail.com”、“geltry@yahoo.co.uk”、“cippalippa@hotmail.com”]。任何想法?

编辑:我想获取存储在设备上“我”联系人中的电子邮件地址,以及存储在默认邮件应用程序和 gmail 客户端应用程序中的自己的电子邮件地址(我认为这是默认使用的应用程序) . 提前致谢。G。

4

1 回答 1

0

大多数这些地址由没有内容提供商的电子邮件客户端维护。

如果您的目标是使用地址列表来选择外发电子邮件的返回地址,那么这不符合 Android 的处理方式。你的应用程序应该通过抛出一个合适的ACTION_SEND意图来宣布它想要发送一封电子邮件。无论应用程序最终提供什么服务,它都可以让用户选择使用哪个帐户和返回地址来发送它。


附录:

content://com.android.email.provider/account默认电子邮件客户端有一个名为您不应或不能使用的内容提供程序 ,因为:

  • 它是无证的。
  • 它的清单要求想要使用它的应用程序具有com.android.email.permission.ACCESS_PROVIDER权限。
  • 该权限具有protectionLevelof signatureOrSystem,它限制对存储在系统映像中或使用与系统映像中的密钥相同的密钥进行签名的应用程序的授权。您的应用程序不太可能属于这些类别中的任何一个。

其他需要注意的事项:

  • 无法保证给定设备将支持电子邮件。
  • 设备上的电子邮件可能由第三方电子邮件客户端(例如,K9、SEVEN、Touchdown、MailDroid 或其他)提供服务,该客户端维护自己的帐户数据库并且可能不会公开它。
于 2011-02-26T15:25:34.603 回答