arteaga2k
16/12/12, 20:48:54
Buenas tardes, aquí voy con mi duda de novato total, estoy comenzando como quien dice con las subactividades y contents providers.
Mi objetivo es seleccionar el email de un contacto y agregarlo a una caja de texto, si elijo el email de otro contacto, que me muestre ambos y así sucesivamente .
El problema es que no me guarda los emails, siempre me muestra el útlimo seleccionado, como si la línea emails+= email no se ejecutara.
Os dejo mi código.
public void seleccionarContacto(View view) {
Intent intencion = new Intent(Intent.ACTION_PICK,
Uri.parse("content://contacts/people/"));
startActivityForResult(intencion, SELEC_CONTACTO);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && requestCode == SELEC_CONTACTO) {
// Obtenemos el identicador URI del contacto
Uri contactoData = data.getData();
// Obtenemos el id del contacto del URI
String id = contactoData.getLastPathSegment();
// Hacemos la consulta al Content Provider de eMails
Cursor cursor = getContentResolver().query(Email.CONTENT_URI, null,
Email.CONTACT_ID + "=?", new String[] { id }, null);
int emailIdx = cursor.getColumnIndex(Email.DATA);
// Obtenemos el primer registro de la consulta
if (cursor.moveToFirst())
email = cursor.getString(emailIdx);
emails+= email;
Toast.makeText(this, emails, Toast.LENGTH_LONG).show();
} // end RESULT_OK
}
Mi objetivo es seleccionar el email de un contacto y agregarlo a una caja de texto, si elijo el email de otro contacto, que me muestre ambos y así sucesivamente .
El problema es que no me guarda los emails, siempre me muestra el útlimo seleccionado, como si la línea emails+= email no se ejecutara.
Os dejo mi código.
public void seleccionarContacto(View view) {
Intent intencion = new Intent(Intent.ACTION_PICK,
Uri.parse("content://contacts/people/"));
startActivityForResult(intencion, SELEC_CONTACTO);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && requestCode == SELEC_CONTACTO) {
// Obtenemos el identicador URI del contacto
Uri contactoData = data.getData();
// Obtenemos el id del contacto del URI
String id = contactoData.getLastPathSegment();
// Hacemos la consulta al Content Provider de eMails
Cursor cursor = getContentResolver().query(Email.CONTENT_URI, null,
Email.CONTACT_ID + "=?", new String[] { id }, null);
int emailIdx = cursor.getColumnIndex(Email.DATA);
// Obtenemos el primer registro de la consulta
if (cursor.moveToFirst())
email = cursor.getString(emailIdx);
emails+= email;
Toast.makeText(this, emails, Toast.LENGTH_LONG).show();
} // end RESULT_OK
}