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

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Oleg_SS
Сообщения: 34
Зарегистрирован: 11 янв 2012, 10:59

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

Сообщение Oleg_SS » 11 янв 2012, 11:03

Запрашиваю список контактов:

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

                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();
а как получить номер телефона или список телефонов для выбора?

Аватара пользователя
RagnarR
Сообщения: 29
Зарегистрирован: 11 янв 2012, 11:02
Откуда: Belarus

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

Сообщение RagnarR » 11 янв 2012, 11:14

Попробуй создать курсор:

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

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

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

Oleg_SS
Сообщения: 34
Зарегистрирован: 11 янв 2012, 10:59

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

Сообщение Oleg_SS » 11 янв 2012, 11:31

Получил курсор. А дальше то что с ним делать?
Я так понимаю, это указатель на запись в контакте?
Можно пример привести?

Аватара пользователя
RagnarR
Сообщения: 29
Зарегистрирован: 11 янв 2012, 11:02
Откуда: Belarus

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

Сообщение RagnarR » 11 янв 2012, 14:06

Вот, что-то вроде этого:

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

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());

    }
}
--[+++++++<---->>-->+>+>+<<<<]
<.>++++[-<++++<++>>>->--<<]>>-.>--..>+.<<<.<<-.>>+>->>.+++[.<]<<++.

Oleg_SS
Сообщения: 34
Зарегистрирован: 11 янв 2012, 10:59

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

Сообщение Oleg_SS » 11 янв 2012, 15:27

спасибо, все получилось

Ответить