I am creating an app, in which I want to read all emails and want to display in a List View. I have been searching, but could not find any suitable way. I have tried below code:
private static final String[] PROJECTION = new String[] {
ContactsContract.CommonDataKinds.Email.CONTACT_ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Email.DATA
};
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,         PROJECTION, null, null, null);
if (cursor != null) {
try {
    final int contactIdIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.CONTACT_ID);
    final int displayNameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
    final int emailIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
    long contactId;
    String displayName, address;
    while (cursor.moveToNext()) {
        contactId = cursor.getLong(contactIdIndex);
        displayName = cursor.getString(displayNameIndex);
        address = cursor.getString(emailIndex);
    }
} finally {
    cursor.close();
    }
}
but it return email address, what if I want to read actual emails? Is there any way? Does Android API expose this? One more thing, in one place I found below approach to get emails as
ContentResolver resolver = getContentResolver();
Uri uriGmail = Uri.parse("content://gmail/");
Cursor cursor = resolver.query(uriGmail, null, null, null, null);
But cursor returns null. What I believe there is no way to read emails from Android device. May be emails get saved in local storage(data base) of that app(let say Gmail app). I further explore Android documentation as mentioned below link but could not find the way. https://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Email.html
Thanks in advance.
 
     
     
    