【问题标题】:I don't get the email contact on Android我在 Android 上没有收到电子邮件联系人
【发布时间】:2012-07-19 14:51:41
【问题描述】:

大家好。 我需要通过联系人 ID 获取我在 android 中的电子邮件联系人。但它返回一个 null 值。不返回任何东西,我不知道我失败了。

 public Cursor cursorEmailByContactId(long contactId) {

    Uri uri = ContactsContract.CommonDataKinds.Email.CONTENT_URI;

    String[] projection = new String[] { 
            ContactsContract.CommonDataKinds.Email.DATA,
            ContactsContract.CommonDataKinds.Email.TYPE,
            ContactsContract.CommonDataKinds.Email.LABEL,
            };

    String where = ContactsContract.CommonDataKinds.Email.CONTACT_ID
            + " = ? ";

    String[] whereParams = new String[] { String.valueOf(contactId) };

    String order = ContactsContract.CommonDataKinds.Email.IS_PRIMARY
            + " DESC, " + ContactsContract.CommonDataKinds.Email.DATA
            + " COLLATE LOCALIZED ASC";

    return ctx.getContentResolver().query(uri, projection, where,
            whereParams, order);

}
 Cursor cursorEmail = null;
 cursorEmail = sds.cursorEmailByContactId(idContacto);
 correioElectr = (EditText)findViewById(R.id.sfe_etEmail);
 try{
      if(cursorEmail.moveToFirst())
    do{
           sEmail = cursorEmail.getString(cursorEmail.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
   }while(cursorEmail.moveToNext());
 }finally{
if(cursorEmail != null && !cursorEmail.isClosed())
    cursorEmail.close();
 }  

 correioElectr.setText(sEmail);

而且我在 correioElectr 编辑文本中什么也没得到。 有人可以帮助我吗? 谢谢

【问题讨论】:

    标签: android cursor android-contacts contactscontract


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多