Ich verwende Code hier Check Incoming number is stored in Contacts list or not android für die Prüfung, ob eingehende Nummer vorhanden ist oder nicht in Kontakten. Dieser Code gibt immer kein korrektes Ergebnis.Unzuverlässiges Ergebnis für die Überprüfung der eingehenden Nummer in Kontakt
Ist auf diesem oder einem anderen besseren Weg eine Korrektur erforderlich?
Code:
String res = null;
try {
ContentResolver resolver = context.getContentResolver();
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
String a = uri.getLastPathSegment();
Cursor c = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER}, ContactsContract.CommonDataKinds.Phone._ID + "=?", new String[]{a}, null);
if (c != null) { // cursor not null means number is found contactsTable
if (c.getCount() > 0) {
if (c.moveToFirst()) { // so now find the contact Name
res = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
//res = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
}
c.close();
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return res;
"Dieser Code gibt nicht immer das korrekte Ergebnis." Warum also nicht ein paar Details angeben? Erkläre, warum du auch eine doppelte Frage stellen musst. –
Warum haben Sie die Ausnahme abgefangen und ignoriert, so erhalten Sie ** NIE ** genaue Ergebnisse. – Gattsu
@ Panache ** Sie wissen nicht, wie er 5962 Punkte verdient hat ** es dauert mehr als ein Jahr oder zwei harte Arbeit, tadeln Sie niemandem, wie er seine Zeit für Sie verschwendet, seien Sie höflich und überprüfen Sie die folgende Antwort . – Gattsu