2012-07-19 39 views
0

Hy大家。 我需要通过联系人ID获取我在android中的电子邮件联系人。但它返回一个null值。不要没有回报,我不知道我失败的地方。我没有得到Android上的电子邮件联系人

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 editText中没有得到任何东西。 有人可以帮助我吗? 感谢

回答

相关问题