Java获取邮箱联系人

用户提供邮箱帐号和密码,获取该邮箱联系人列表:

        方法1:利用各邮箱官方开放的API接口,连接到邮箱服务器;(国外大部分邮箱支持)

       方法2:利用httpclient模拟登录邮箱,抓取联系人页面的源代码---------使用http监听工具,抓出  邮箱登录、跳转(action)、联系人页面  等URL、

                     form表单中隐藏的参数、高版本httpclient会自动管理cookie


源码下载:

            国内常用邮箱:getContacts-from-email


获取联系人邮箱,您可以使用 Android 的联系人提供者(Contacts Provider)来查询联系人数据,并从中提取邮箱信息。以下是一个示例代码,展示了如何获取联系人邮箱: ```java import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.provider.ContactsContract; public class ContactEmailFetcher { private Context context; public ContactEmailFetcher(Context context) { this.context = context; } public String getEmailForContact(String contactId) { String email = null; ContentResolver contentResolver = context.getContentResolver(); // 查询联系人数据 Cursor cursor = contentResolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[]{contactId}, null ); if (cursor != null && cursor.moveToFirst()) { int emailColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS); email = cursor.getString(emailColumnIndex); cursor.close(); } return email; } } ``` 在上述示例中,首先创建了一个 ContactEmailFetcher 类,构造函数传入了一个 Context 对象。然后,在 getEmailForContact 方法中,通过 ContentResolver 查询联系人邮箱数据。查询使用了 ContactsContract.CommonDataKinds.Email.CONTENT_URI 来指定查询的数据类型为邮箱,同时通过 CONTACT_ID 来限定查询的联系人。 在循环中,我们可以获取邮箱数据的列索引,然后通过 cursor.getString 方法来获取实际的邮箱地址。最后,关闭游标并返回邮箱地址。 要使用该示例,您可以在适当的地方创建一个 ContactEmailFetcher 实例,并调用 getEmailForContact 方法,传入所需的联系人 ID(contactId)参数。请注意,您需要在 AndroidManifest.xml 文件中添加适当的权限,例如 `android.permission.READ_CONTACTS` 权限。 需要注意的是,联系人数据可能会因为不同的联系人提供者而有所差异,因此在实际应用中,您可能需要根据不同的设备和联系人提供者进行适当的调整。此外,由于联系人数据量可能较大,建议在查询时进行适当的分页和异步处理,以避免性能问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值