从Android手机通讯录获取电子邮件

时间:2013-05-16 17:22:52

标签: android email contacts contactscontract

拜托,我一直在努力获取手机上所有联系人的电子邮件地址,但不知何故,我无法让它工作。请有人告诉我哪里出错了......除了收到电子邮件外,所有其他人都在工作。提前致谢

Cursor cursor = getContentResolver().query(   ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null);

    //now we have cusror with contacts and get diffrent value from cusror.

    while (cursor.moveToNext()) {
        String id = cursor.getString(cursor
                .getColumnIndex(ContactsContract.Contacts._ID));
    String name =cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

    contactView.append("Name: ");
    contactView.append(name);
    contactView.append("\n");

     if (Integer
             .parseInt(cursor.getString(cursor
                     .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
    String phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    contactView.append("Number: ");
    contactView.append(phoneNumber);
    contactView.append("\n");}
    //get email cursor
    Cursor ecursor = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,  ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = "+id, 
            null, null);

   while (ecursor.moveToNext()) {
        String email = ecursor.getString(ecursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
        if(email != null){
            contactView.append("email: ");
            contactView.append(email);
            contactView.append("\n");
            }

    }
    ecursor.close();
    }
    cursor.close();

0 个答案:

没有答案