Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法从联系人检索电子邮件_Android_Android Intent_Android Contentprovider_Android Contacts - Fatal编程技术网

Android 无法从联系人检索电子邮件

Android 无法从联系人检索电子邮件,android,android-intent,android-contentprovider,android-contacts,Android,Android Intent,Android Contentprovider,Android Contacts,我正在编写代码以获取所选联系人的电子邮件,但当我选择联系人并返回主要活动时,我无法获取电子邮件(祝酒词未显示) 您需要执行另一个查询以检索电子邮件地址。 检查此答案(关于电子邮件地址的底部部分),这是相同的问题: 编辑:代码示例 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent(

我正在编写代码以获取所选联系人的电子邮件,但当我选择联系人并返回主要活动时,我无法获取电子邮件(祝酒词未显示)


您需要执行另一个查询以检索电子邮件地址。
检查此答案(关于电子邮件地址的底部部分),这是相同的问题:

编辑:代码示例

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
    startActivityForResult(intent, 0);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    // ADD IF STATEMENTS HERE TO CHECK the requestCode, resultCode and data

    Uri contactData = data.getData();
    Cursor c = getContentResolver().query(contactData, null, null, null, null);

    // has result
    if (c.moveToFirst()) {
        String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
        String id = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));

        // new query for the mail
        Cursor emailCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[]{id}, null);

        // has result
        if(emailCursor.moveToFirst()) {
            String email = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
            String emailType = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));

            Log.d(getClass().getName(), "EMAIL = " + email);
        }

        emailCursor.close();
    }

    c.close();
}

不要忘记在清单中添加READ_CONTACTS权限。

您需要执行另一个查询来检索电子邮件地址。
检查此答案(关于电子邮件地址的底部部分),这是相同的问题:

编辑:代码示例

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
    startActivityForResult(intent, 0);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    // ADD IF STATEMENTS HERE TO CHECK the requestCode, resultCode and data

    Uri contactData = data.getData();
    Cursor c = getContentResolver().query(contactData, null, null, null, null);

    // has result
    if (c.moveToFirst()) {
        String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
        String id = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));

        // new query for the mail
        Cursor emailCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[]{id}, null);

        // has result
        if(emailCursor.moveToFirst()) {
            String email = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
            String emailType = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));

            Log.d(getClass().getName(), "EMAIL = " + email);
        }

        emailCursor.close();
    }

    c.close();
}

别忘了在清单中添加READ_CONTACTS权限。

@lukas what is String[]{id}…你能给我完整的代码吗@lukas what is String[]{id}…你能给我完整的代码吗