Seguendo This Retrieving a List of Contacts Tutorial nel sito degli sviluppatori Android, sono riuscito a implementare la funzionalità di ricerca dei contatti. Ecco il mio codice finoraRicerca intelligente contatti in Android
private void retrieveContactRecord(String phoneNo) {
try {
Log.e("Info", "Input: " + phoneNo);
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI,
Uri.encode(phoneNo));
String[] projection = new String[]{ContactsContract.PhoneLookup._ID, ContactsContract.PhoneLookup.DISPLAY_NAME};
String sortOrder = ContactsContract.PhoneLookup.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
ContentResolver cr = getContentResolver();
if (cr != null) {
Cursor resultCur = cr.query(uri, projection, null, null, sortOrder);
if (resultCur != null) {
while (resultCur.moveToNext()) {
String contactId = resultCur.getString(resultCur.getColumnIndex(ContactsContract.PhoneLookup._ID));
String contactName = resultCur.getString(resultCur.getColumnIndexOrThrow(ContactsContract.PhoneLookup.DISPLAY_NAME));
Log.e("Info", "Contact Id : " + contactId);
Log.e("Info", "Contact Display Name : " + contactName);
break;
}
resultCur.close();
}
}
} catch (Exception sfg) {
Log.e("Error", "Error in loadContactRecord : " + sfg.toString());
}
}
Qui è il fermo, questo codice funziona abbastanza grande, ma ho bisogno di implementare una ricerca intelligente qui. Voglio 26268 per abbinare Amanu così come 094 526 2684. Credo che si chiami dizionario T9.
Ho provato a cercare altri progetti per indizio, ma non sono riuscito a trovare nulla. Qualsiasi suggerimento sarebbe apprezzato!
Dov'è il T9? –