Выберите один из контактных номеров - PullRequest
0 голосов
/ 19 марта 2012

Я использую этот код ниже, чтобы выбрать номер контакта, но некоторые контакты имеют более одного номера, как я могу выбрать один из номеров контактов?

Cselect.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
              startActivityForResult(intent, 0);     
            }
            });

1 Ответ

1 голос
/ 19 марта 2012

В результате вы должны получить Uri.Из этого вы сможете получить курсор, а затем перебрать курсор, чтобы получить необходимую информацию.Я бы посоветовал вам сбросить курсор в журналы, чтобы вы могли видеть, что возвращается, используя класс DatabaseUtils.

Ниже приведен фрагмент того, как вы можете извлечь курсор и выполнить итерацию по нему:

    if (resultCode == Activity.RESULT_OK) {
        Uri contactData = data.getData();
        Cursor c = managedQuery(contactData, null, null, null, null);
        if (c.moveToFirst()) {
            String name = c.getString(c.getColumnIndexOrThrow(People.NAME));
            txtContacts.setText(name);
        }
    }
...