Как найти человека в адресной книге Android - PullRequest
0 голосов
/ 30 ноября 2011

Я пытаюсь включить поиск людей в адресной книге Android.Вот как я это реализую:

Cursor cur = this.context.getContentResolver().query(ContactsContract.RawContacts.CONTENT_URI, null, Data.DISPLAY_NAME + "=?", new String[] { mKey }, null);
if (cur.moveToFirst()) {
  Intent n = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);  
  ((Activity) this.context).startActivityForResult(n, PICK_REQUEST);
if (PICK_REQUEST != 0) {
  if (Activity.RESULT_OK != 0) {
    ((Activity) this.context).startActivity(n);
        }
    }
 } else {
    Toast.makeText(this.context, "The contact does not exist", Toast.LENGTH_LONG).show();
    //  }

, где mKey - это значение человека, которого нужно искатьНичего не происходит, когда я нажимаю для поиска.Что я делаю не так?Пожалуйста, сообщите.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2011

Попробуйте этот код, замените А1 на ваше отображаемое имя

Cursor cursor1 = activity.getContentResolver().query(
                Contacts.CONTENT_URI,
                new String[] {Contacts._ID, Contacts.DISPLAY_NAME}, 
                Contacts.DISPLAY_NAME  + "=?",
                new String[] {"A1"}, 
                null);
0 голосов
/ 30 ноября 2011

Попробуйте использовать:

Cursor cur = this.context.getContentResolver().query(ContactsContract.RawContacts.CONTENT_URI, null, Data.DISPLAY_NAME + " like '"+mKey+"%'", null, null);

Просто проверьте cur.getCount ()> 0, чтобы узнать, получаете ли вы связанные данные или нет. Надеюсь, у вас есть контакт в вашей книге контактов с именем mKey, иначевы всегда получите нулевой курсор.: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...