0

皆さんこんにちは。連絡先の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 editText には何も表示されません。誰かが私を助けることができますか?ありがとう

4

1 に答える 1