Ich versuche, die Kontaktauswahl aufzurufen, den Namen, das Telefon und die E-Mail-Adresse der Person in Strings zu erfassen und sie mit Absicht an eine andere Aktivität zu senden. Bisher funktioniert das:Kontaktinformationen von Android-Kontaktauswahl erhalten
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
// ...
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
Intent intent = new Intent(CurrentActivity.this, NewActivity.class);
intent.putExtra("name", name);
startActivityForResult(intent, 0);
}
}
}
Aber wenn ich in hinzufügen:
String number = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));
es Kraft schließt
Vielleicht Theres ein anderer Weg, um ihre Zahl zu bekommen?
funktioniert super und die Website, die Sie gut deffo verbunden kommen in handy, danke – ng93
Wie frage ich die Telefonnummer in der letzten While-Schleife? – eyal
cr.query scheint nicht zu funktionieren.Auch was in String [] {id} ... id ist, scheint keine dieser Variablen zu finden. –