Estoy tratando de recoger los contactos con el número de teléfono only.And estoy siguiendo this codeAndroid: Intento de selector de contacto | No se puede crear una instancia del tipo de URI
static final int PICK_CONTACT_REQUEST = 1; // The request code
...
private void pickContact() {
Intent pickContactIntent = new Intent(Intent.ACTION_PICK, new Uri("content://contacts"));
pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}
Pero, por desgracia, su mostrando un error: Código de Cannot instantiate the type Uri
En realidad tengo otro trabajo que funciona a la perfección, pero se bloquea al seleccionar Contactos de correo electrónico. Solo necesito números telefónicos.
Intent intentContact = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
intentContact.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intentContact, PICK_CONTACT);
y al onReceive()
, este método se llama
public void getContactInfo(Intent intent) {
ContentResolver cr = getContentResolver();
cursor = cr.query(intent.getData(), null, null, null, null);
while (cursor.moveToNext()) {
String contactId = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
if (Integer
.parseInt(cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = " + contactId, null, null);
while (phones.moveToNext()) {
phoneNumber = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();
} else {
snipp.showAlertDialog(getApplicationContext(), "No Number",
"Cannot read number", false);
}
}
cursor.close();
}
qué línea de código es causando esta excepción? puedes pegar la pila completa en la pregunta? ¿Estás definiendo tu onActivityResult()? –
Reparado. :) Fue una solución simple ... en realidad mi error ... gracias por tu valioso tiempo :) –