且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

按名称获取联系人的电子邮件

更新时间:2023-02-25 10:54:16

查询电子邮件地址类似于电话号码。必须执行查询,从数据库中获取电子邮件地址。查询URI存储在ContactsContract.CommonDataKinds.Email.CONTENT_URI查询电子邮件地址表中。

Querying email addresses is similar to phone numbers. A query must be performed to get email addresses from the database. Query the URI stored in ContactsContract.CommonDataKinds.Email.CONTENT_URI to query the email address table.

 Cursor emailCur = cr.query( 
    ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
    null,
    ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", 
    new String[]{id}, null); 
while (emailCur.moveToNext()) { 
    // This would allow you get several email addresses
        // if the email addresses were stored in an array
    String email = emailCur.getString(
                  emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
    String emailType = emailCur.getString(
                  emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE)); 
} 
emailCur.close();

由于与电话查询的电子邮件的表中的字段名称也被存储下ContactsContract.CommonDataKinds。电子邮件查询的URI在ContactsContract.CommonDataKinds.Email.CONTENT_URI进行,WHERE子句必须匹配ContactsContract.CommonDataKinds.Email.CONTACT_ID领域。由于多个电子邮件地址可以通过光标返回的记录存储循环。

As with the phone query the field names for the email table are also stored under ContactsContract.CommonDataKinds. The email query is performed on the URI in ContactsContract.CommonDataKinds.Email.CONTENT_URI and the WHERE clause has to match the ContactsContract.CommonDataKinds.Email.CONTACT_ID field. Since multiple email addresses can be stored loop through the records returned in the Cursor.

更多教程这里