Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Anzohan
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 14
#1

Выбор нужного номера телефона у контакта

14.09.2014, 22:52. Просмотров 1271. Ответов 1
Метки нет (Все метки)

Здравствуйте! Мне нужно сделать выбор нужного контакта и вывод его номера в textView. Код есть, но если у контакта имеется 2 или более телефонов, то выводится только самый первый. Как сделать так, чтобы при выборе контактов, предоставлялся выбор нужного номера телефона, из предложенных?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.lang.*;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
 
import org.w3c.dom.Text;
 
public class MyActivity extends Activity {
    private static final int CONTACT_PICK_RESULT = 999;
    private static final String LOG_TAG = "";
 
    String mContactId;
    String mPhoneNumber;
    String mContactName;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        final TextView tw = (TextView) findViewById(R.id.textView);
        final Button bt1 = (Button) findViewById(R.id.button);
        bt1.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                getContact();
            }
        });
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.my, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    public void getContact() {
        Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
                Contacts.CONTENT_URI);
        startActivityForResult(contactPickerIntent, CONTACT_PICK_RESULT);
    }
 
    protected void onActivityResult(int requestCode, int resultCode,
                                    Intent data) {
        TextView tw=(TextView) findViewById(R.id.textView);
        if (resultCode == RESULT_OK) {
 
            switch (requestCode) {
                case CONTACT_PICK_RESULT:
                    Uri contactData = data.getData();
                    Cursor c = getContentResolver().query(contactData, null, null, null, null);
                    if (c.moveToNext()) {
                        mContactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
                        mContactName = c.getString(c.getColumnIndexOrThrow(
                                ContactsContract.Contacts.DISPLAY_NAME));
 
                        String hasPhone = c.getString(c.getColumnIndex(
                                ContactsContract.Contacts.HAS_PHONE_NUMBER));
 
                        Log.d(LOG_TAG, "name: " + mContactName);
                        Log.d(LOG_TAG, "hasPhone:" + hasPhone);
                        Log.d(LOG_TAG, "contactId:" + mContactId);
                        if (hasPhone.equalsIgnoreCase("1")) {
                            Cursor phones = getContentResolver().query(
                                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                    null,
                                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ mContactId,
                                    null,
                                    null);
 
                            while (phones.moveToNext()) {
                                mPhoneNumber = phones.getString(phones.getColumnIndex(
                                        ContactsContract.CommonDataKinds.Phone.NUMBER));
 
                                tw.setText(mPhoneNumber);
                            }
                            phones.close();
                        }
                    }
                    break;
            }
 
        } else {
        }
    }
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2014, 22:52
Ответы с готовыми решениями:

Получить номер телефона контакта по имени
Здравствуйте, делаю контактную книжку (работа с системным файлом контактов)....

Выбор нужного компилятора
Сегодня стукнула моча в голову, сделать приложение для андроид. К делу: есть...

Проверка номера телефона
Доброго времени суток. Можно ли сделать так, чтобы при входе в приложение...

Проверка номера телефона
В приложении требуется проверять номер телефона пользователей. В большинстве...

Узнать тип номера телефона
Можно ли как то определить тип номера телефона? Например сотовый номер или...

1
Vlandrik
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 2
16.03.2016, 11:53 #2
Anzohan, удалось решить вопрос? Столкнулся с подобной проблемой.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2016, 11:53

Добавление номера телефона в существующий контакт
Подскажите, пожалуйста, где моя ошибка? Добавляю номер телефона так: ...

Преобразование имени контакта в строку
Добрый день! С помощью примера из SDK извлек имена контактов. private Cursor...

Как набрать номер по имени контакта
Нужно набрать номер через Intent по имени контакта. Как это можно сделать? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru