Ja, dies ist möglich mit ContactsContract.PhoneLookup.CONTENT_FILTER_URI
in Android 2.0 und höher und Contacts.Phones.CONTENT_FILTER_URL
in Android 1.6 und früher.
Zum Beispiel Verwendung, siehe die Dokumentation für ContactsContract.PhoneLookup. Auszug unten:
// Android 1.6 and earlier (backwards compatible for Android 2.0+)
Uri uri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(phoneNumber));
// Android 2.0 and later
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
// Query the filter URI
String[] projection = new String[]{ PhoneLookup.DISPLAY_NAME, ...
Cursor cursor = context.getContentResolver().query(uri, projection, ...
UPDATE: Das Format der Telefonnummer spielt keine Rolle. Der Vergleich ist robust und auf Android optimiert; Es ist mit einer nativen SQLite-Funktion namens PHONE_NUMBERS_EQUAL
getan. Für weitere Details, search the codebase for this method. Übrigens bin ich mir nicht sicher, ob es sicher ist, diese Funktion direkt in Ihren eigenen Apps zu verwenden, aber ich würde es nicht tun.
Sie wahrscheinlich diese Frage zu so etwas wie ‚verallgemeinern Wie suchen Sie einen Kontakt nach oben eine rohe, unformatierte Telefonnummern-Zeichenfolge gegeben? –