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

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

Восстановить пароль Регистрация
 
Anzohan
0 / 0 / 0
Регистрация: 04.11.2013
Сообщений: 14
14.09.2014, 22:52     Выбор нужного номера телефона у контакта #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
Как получить данные контакта из Contact Provider Android
Подключение стандартного окна редактирования контакта Android
Как можно в progressBar вернуть прогресс нужного потока? Android
Android Разблокировка телефона на Android 4.2
Android Глючит получение id группы по id контакта телефонной книги
Android Открытие нужного активити
Android Открытие нужного пункта списка
СОС фонариком телефона Android
Android Добавление номера телефона в существующий контакт
Android Выбор SIM карты, с которой необходимо произвести выбор

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

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

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