【问题标题】:Getting the email column index when choosing a contact java android选择联系人java android时获取电子邮件列索引
【发布时间】:2019-04-14 14:18:01
【问题描述】:

我目前正在从手机通讯录中选择一个联系人,然后使用以下代码保存该姓名:

int nameColumn = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
String name = cursor.getString(nameColumn)

我想知道是否有办法以类似的方式获取联系人的电子邮件,例如CommonDataKinds.Phone.EMAIL

【问题讨论】:

    标签: java android android-contentprovider android-contacts contactscontract


    【解决方案1】:

    从手机通讯录中选择联系人

    你的意思是你正在使用:

    Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
    startActivityForResult(intent, PICK_CONTACT)
    

    让用户从设备的联系人应用程序中选择联系人?

    如果是这样,您可以稍微更改选择器代码以改为电子邮件选择器:

    Intent intent = new Intent(Intent.ACTION_PICK, Email.CONTENT_URI);  
    startActivityForResult(intent, PICK_EMAIL);
    

    然后在你的onActivityResult:

    Uri emailUri = data.getData();
    Cursor cursor = getContentResolver().query(emailUri, null, null, null, null);
    String email = cursor.getString(cursor.getColumnIndex(Email.DATA)); // get the email itself
    
    DatabaseUtils.dumpCursor(cursor); // dump the cursor so you can see the fields and data you can access
    cursor.close();
    

    【讨论】:

      猜你喜欢
      • 2016-10-23
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 2014-10-16
      • 1970-01-01
      相关资源
      最近更新 更多