-2
Ich versuche, Telefonnummer als String in Android zu bekommen, gelang es mir, Kontakt zu bekommen und von ihm die Telefonnummer, aber das Ergebnis in den Protokollen ist Daten1 und die Nummer ist 32821 Ich verstehe mein Problem nicht.Wie bekomme ich die Telefonnummer von Kontakt in Android
Hier ist mein Code:
public void getContact(View view){
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// for ActivityCompat#requestPermissions for more details.
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, 10);
// return;
}
Intent contactsIntent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
this.pickContact = 1;
startActivityForResult(contactsIntent, this.pickContact);
}
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data){
super.onActivityResult(reqCode, resultCode, data);
if(reqCode == this.pickContact){
if (resultCode == Activity.RESULT_OK) {
Log.d("ContactsH", "ResOK");
Uri contactData = data.getData();
Cursor contact = getContentResolver().query(contactData, null, null, null, null);
if (contact.moveToFirst()) {
// String name = contact.getString(contact.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String phoneNumber = ContactsContract.CommonDataKinds.Phone.NUMBER;
// TODO Whatever you want to do with the selected contact name and phone number.
Log.d("ContactsH", "Calling to:"+phoneNumber);
contact.close();
this.callByNumber(phoneNumber);
}
}
}else{
Log.d("ContactsH", "Canceled");
}
}
können Sie mir bitte helfen?
Mögliche Duplikat von [Wie Kontakte Telefonnummer in Android bekommen] (https://stackoverflow.com/questions/11218845/how-to-get-contacts -phone-nummer-in-android) –
Hat 'String name = contact.getString (contact.getColumnIndex (KontakteContract.Contacts.DISPLAY_NAME));' nicht geben Sie den Namen? Hast du nicht dasselbe für die Nummer versucht? –
Es tut mir leid, aber das funktioniert nicht für mich, weil es die gleiche Nummer zeigt, egal wen ich wähle. –