Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Anzohan
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 14
#1

Выбор нужного номера телефона у контакта - Программирование Android

14.09.2014, 22:52. Просмотров 1034. Ответов 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 {
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2014, 22:52     Выбор нужного номера телефона у контакта
Посмотрите здесь:
Получить номер телефона контакта по имени Android
Выбор нужного компилятора Android
Android Добавление номера телефона в существующий контакт
Android Преобразование имени контакта в строку
Как набрать номер по имени контакта Android
Подключение стандартного окна редактирования контакта Android
Android Глючит получение id группы по id контакта телефонной книги
Как получить данные контакта из Contact Provider Android
Android Открытие нужного активити
Android Открытие нужного пункта списка
Как можно в progressBar вернуть прогресс нужного потока? Android
Android Выбор SIM карты, с которой необходимо произвести выбор

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vlandrik
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 2
16.03.2016, 11:53     Выбор нужного номера телефона у контакта #2
Anzohan, удалось решить вопрос? Столкнулся с подобной проблемой.
Ответ Создать тему
Опции темы

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