- Forum-Beiträge: 147
02.04.2014, 21:21:16 via Website
02.04.2014 21:21:16 via Website
Hi! Ich möchte in meiner App die Telefonnummern aus dem Android-Telefonbuch auslesen. Dazu habe ich bis jetzt:
private void kontakte_einlesen(){
ArrayList<Item> items = new ArrayList<Item>();
// TODO Kontakte nach und nach aus Telefonbuch lesen
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(
cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{id}, null);
while (pCur.moveToNext()) {
// Do something with phones
int nummer_i = pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID);
String nummer = Integer.toString(nummer_i);
System.out.println(nummer);
items.add(new Item(name, id, nummer));
}
pCur.close();
}
}
}
Jedoch bekomme ich bei jedem Kontakt 4 als Telefonnummer angezeigt...
Was mache ich falsch?
Oder ist es auch möglich, die hauseigene Telefon-App von Andriod über einen Intent aufzurufen und die gewählte Telefonnummer als String zurück zu bekommen? Das würde mir eigentlich reichen...
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.