Страница 1 из 1

как получить номер телефона

Добавлено: 11 янв 2012, 11:03
Oleg_SS
Запрашиваю список контактов:

Код: Выделить всё

                Uri uri = Uri.parse("content://contacts/people");
                Intent intent = new Intent(Intent.ACTION_PICK, uri);
                startActivityForResult(intent, ReqCodeContact);
Получаю ссылку на контакт в виде content://contacts/people/1:

Код: Выделить всё

                    Uri uri = data.getData();
а как получить номер телефона или список телефонов для выбора?

Re: как получить номер телефона

Добавлено: 11 янв 2012, 11:14
RagnarR
Попробуй создать курсор:

Код: Выделить всё

Cursor c = managedQuery(uri, null, null, null, null);
затем вытянуть из курсора нужные данные.

Если надо, то можно воспользоваться параметрами
Projection - какие колонки выбирать,
Filtering - выражение фильтрации,
Parametrs for filtering,
Sorting - как будешь сортировать,

Re: как получить номер телефона

Добавлено: 11 янв 2012, 11:31
Oleg_SS
Получил курсор. А дальше то что с ним делать?
Я так понимаю, это указатель на запись в контакте?
Можно пример привести?

Re: как получить номер телефона

Добавлено: 11 янв 2012, 14:06
RagnarR
Вот, что-то вроде этого:

Код: Выделить всё

import android.provider.Contacts.People;

private void getColumnData(Cursor cur){ 
    if (cur.moveToFirst()) {

        String name; 
        String phoneNumber; 
        int nameColumn = cur.getColumnIndex(People.NAME); 
        int phoneColumn = cur.getColumnIndex(People.NUMBER);
        String imagePath; 
    
        do {
            // Get the field values
            name = cur.getString(nameColumn);
            phoneNumber = cur.getString(phoneColumn);
           
            // Do something with the values. 
            ... 

        } while (cur.moveToNext());

    }
}

Re: как получить номер телефона

Добавлено: 11 янв 2012, 15:27
Oleg_SS
спасибо, все получилось