Выберите номер и имя из списка контактов в приложении Android.
Я хочу выбрать контакт с ним из моего списка контактов.
я читал много решений и исследований за пару недель, но все статьи не работали должным образом.
некоторые коды, как показано ниже:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
//и в activityresult:
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
tv1.setText(name);
}
}
или этот код для получения всех контактов, но я не могу иметь количество контактов:
String[] contacts = new String[] {People.NAME, People.NUMBER};
Uri contentUri = People.CONTENT_URI;
Cursor cursor = managedQuery(contentUri, contacts, null, null, null);
String textContacts = "";
if (cursor.moveToFirst()) {
String myname = null;
String mynumber = null;
do {
textContacts = textContacts + cursor.getString(cursor.getColumnIndex(People.NAME)) + " : " + cursor.getString(cursor.getColumnIndex(People.NUMBER)) + "\n";
} while (cursor.moveToNext());
tv1.setText(textContacts);
}
Может кто-нибудь мне помочь? мой андроид 2.3.3
Ответы
Ответ 1
Попробуйте использовать следующий код, который вам поможет:
// You need below permission to read contacts
<uses-permission android:name="android.permission.READ_CONTACTS"/>
// Declare
static final int PICK_CONTACT=1;
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
//code
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String id =c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String hasPhone =c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1")) {
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id,
null, null);
phones.moveToFirst();
cNumber = phones.getString(phones.getColumnIndex("data1"));
System.out.println("number is:"+cNumber);
}
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
}
break;
}
}
Ответ 2
Используйте Intent.ACTION_PICK для доступа к телефонному контакту. Код как
Uri uri = Uri.parse("content://contacts");
Intent intent = new Intent(Intent.ACTION_PICK, uri);
intent.setType(Phone.CONTENT_TYPE);
startActivityForResult(intent, REQUEST_CODE);
Где
private static final int REQUEST_CODE = 1;
И используйте метод onActivityResult() для доступа к выбранному контакту. Код как
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Uri uri = intent.getData();
String[] projection = { Phone.NUMBER, Phone.DISPLAY_NAME };
Cursor cursor = getContentResolver().query(uri, projection,
null, null, null);
cursor.moveToFirst();
int numberColumnIndex = cursor.getColumnIndex(Phone.NUMBER);
String number = cursor.getString(numberColumnIndex);
int nameColumnIndex = cursor.getColumnIndex(Phone.DISPLAY_NAME);
String name = cursor.getString(nameColumnIndex);
Log.d(TAG, "ZZZ number : " + number +" , name : "+name);
}
}
};
Ответ 3
Добавьте разрешение на чтение данных контактов в манифест приложения.
<uses-permission android:name="android.permission.READ_CONTACTS"/>
Используйте Intent.Action_Pick
в своей деятельности, как Intent.Action_Pick
ниже
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(contactPickerIntent, RESULT_PICK_CONTACT);
Затем переопределите onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// check whether the result is ok
if (resultCode == RESULT_OK) {
// Check for the request code, we might be usign multiple startActivityForReslut
switch (requestCode) {
case RESULT_PICK_CONTACT:
Cursor cursor = null;
try {
String phoneNo = null ;
String name = null;
Uri uri = data.getData();
cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
int phoneIndex =cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
phoneNo = cursor.getString(phoneIndex);
textView2.setText(phoneNo);
} catch (Exception e) {
e.printStackTrace();
}
break;
}
} else {
Log.e("MainActivity", "Failed to pick contact");
}
}
Это будет работать проверить это
Ответ 4
Вот что я реализовал:
private String[] getContactList(){
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
Log.i(LOG_TAG, "get Contact List: Fetching complete contact list");
ArrayList<String> contact_names = new ArrayList<String>();
if (cur.getCount() > 0)
{
while (cur.moveToNext())
{
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER.trim())).equalsIgnoreCase("1"))
{
if (name!=null){
//contact_names[i]=name;
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{id}, null);
while (pCur.moveToNext())
{
String PhoneNumber = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
PhoneNumber = PhoneNumber.replaceAll("-", "");
if (PhoneNumber.trim().length() >= 10) {
PhoneNumber = PhoneNumber.substring(PhoneNumber.length() - 10);
}
contact_names.add(name + ":" + PhoneNumber);
//i++;
break;
}
pCur.close();
pCur.deactivate();
// i++;
}
}
}
cur.close();
cur.deactivate();
}
String[] contactList = new String[contact_names.size()];
for(int j = 0; j < contact_names.size(); j++){
contactList[j] = contact_names.get(j);
}
return contactList;
}
Вы можете вызвать эту функцию и, возможно, использовать AutoCompleteTextView для отображения и выбора имени контакта и 10-значного числа. Эта функция возвращает массив String, который вы можете напрямую вернуть arrayList и удалить последний цикл.
Ответ 5
Если вы хотите выбрать контакт из списка контактов в событии клика или фокуса, скопируйте этот код и вставьте в свою деятельность.
-
ФОКУСНОЕ СОБЫТИЕ ИЗМЕНЕНИЯ ТЕКСТА:
phoneNo.setOnFocusChangeListener(new OnFocusChangeListener()
{ public void onFocusChange(View v, boolean hasFocus)
{
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent,PICK_CONTACT );//PICK_CONTACT is private static final int, so declare in activity class
} });
-
ФУНКЦИЯ ДЛЯ ПОЛУЧЕНИЯ КОНТАКТНОГО ИМЯ И ТЕЛЕФОНА НЕТ:
public void onActivityResult(int reqCode, int resultCode, Intent data)
{
super.onActivityResult(reqCode, resultCode, data);
switch(reqCode){
case (PICK_CONTACT):
if (resultCode == Activity.RESULT_OK)
{
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String id =
c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String hasPhone =
c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1")) {
Cursor phones = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id,
null, null);
phones.moveToFirst();
String phn_no = phones.getString(phones.getColumnIndex("data1"));
String name = c.getString(c.getColumnIndex(StructuredPostal.DISPLAY_NAME));
Toast.makeText(this, "contact info : "+ phn_no+"\n"+name, Toast.LENGTH_LONG).show();
}
}
}
}
}
Ответ 6
эта работа для меня
получить номер мобильного телефона и имя
startActivityForResult(new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI), TYPE_CONTACT);
case TYPE_CONTACT: uriContact = data.getData();
String name=retrieveContactName();
System.out.println("name = " + name);
String number=retrieveContactNumber();
System.out.println("number = " + number);
break;
}
}
private String retrieveContactNumber() {
String contactNumber = null;
// getting contacts ID
Cursor cursorID = getContentResolver().query(uriContact,
new String[]{ContactsContract.Contacts._ID},
null, null, null);
if (cursorID.moveToFirst()) {
contactID = cursorID.getString(cursorID.getColumnIndex(ContactsContract.Contacts._ID));
}
cursorID.close();
Log.d(TAG, "Contact ID: " + contactID);
// Using the contact ID now we will get contact phone number
Cursor cursorPhone = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER},
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ? AND " +
ContactsContract.CommonDataKinds.Phone.TYPE + " = " +
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE,
new String[]{contactID},
null);
if (cursorPhone.moveToFirst()) {
contactNumber = cursorPhone.getString(cursorPhone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
cursorPhone.close();
Log.d(TAG, "Contact Phone Number: " + contactNumber);
return contactNumber;
}
private String retrieveContactName() {
String contactName = null;
// querying contact data store
Cursor cursor = getContentResolver().query(uriContact, null, null, null, null);
if (cursor.moveToFirst()) {
// DISPLAY_NAME = The display name for the contact.
// HAS_PHONE_NUMBER = An indicator of whether this contact has at least one phone number.
contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
cursor.close();
Log.d(TAG, "Contact Name: " + contactName);
return contactName;
}
Ответ 7
получить номер мобильного телефона и адрес электронной почты
//Получить номер телефона
name = getIntent().getExtras().getString("name");
id = getIntent().getExtras().getString("contactid");
Cursor cursorPhone = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER},
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ? AND " +
ContactsContract.CommonDataKinds.Phone.TYPE + " = " +
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE,
new String[]{id.toString()},
null);
String contactNumber = null;
if (cursorPhone.moveToFirst()) {
contactNumber = cursorPhone.getString(cursorPhone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
System.out.println("contactnum"+contactNumber);
}
}
cursorPhone.close();
//Получить адрес электронной почты
Cursor emailCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[]{id}, null);
if (emailCursor.moveToFirst()) {
String phone = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
int type = emailCursor.getInt(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));
String s = (String) ContactsContract.CommonDataKinds.Email.getTypeLabel(AddContactActivity.this.getResources(), type, "");
etEmail.setText(phone);
}
emailCursor.close();
}
Ответ 8
Этот код будет работать для контактов с мобильным номером, а не для электронной почты или чего-то еще. Я нашел этот код простейшим. сообщите мне, если есть какие-либо проблемы.
начать работу с целью выбора типа данных телефона:
findViewById(R.id.choose_contact_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent pickContact = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(pickContact, PICK_CONTACT_REQUEST);
}
});
Теперь установите onAcitivityResult();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
switch (requestCode){
case PICK_CONTACT_REQUEST:
if (resultCode == RESULT_OK){
Uri contactUri = intent.getData();
Cursor nameCursor = getContentResolver().query(contactUri, null, null, null, null);
if (nameCursor.moveToFirst()){
String name = nameCursor.getString(nameCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String number = nameCursor.getString(nameCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
((EditText)findViewById(R.id.person_name)).setText(name);
((EditText)findViewById(R.id.enter_mobile)).setText(number);
nameCursor.close();
}
}
break;
}
}
Ответ 9
попробуйте следующий код,
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.Contacts._ID);
startActivityForResult(intent, PICK_CONTACT);
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
if (requestCode == PICK_CONTACT)
{
Cursor cursor = managedQuery(Email.CONTENT_URI, null, Email.CONTACT_ID + " = " + intent.getData(), null, null);
cursor.moveToNext();
String contactId = cursor.getString(cursor.getColumnIndex(Email._ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(Email.DATA1));
Toast.makeText(this, "Contect LIST = "+name, Toast.LENGTH_LONG).show();
}
}
Ответ 10
Это может помочь вам:
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
try {
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor cur = managedQuery(contactData, null, null, null, null);
ContentResolver contect_resolver = getContentResolver();
if (cur.moveToFirst()) {
String id = cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String name = "";
String no = "";
Cursor phoneCur = contect_resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[]{id}, null);
if (phoneCur.moveToFirst()) {
name = phoneCur.getString(phoneCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
no = phoneCur.getString(phoneCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
Log.e("Phone no & name :***: ", name + " : " + no);
txt.append(name + " : " + no + "\n");
id = null;
name = null;
no = null;
phoneCur = null;
}
contect_resolver = null;
cur = null;
// populateContacts();
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
Log.e("IllegalArgumentException::", e.toString());
} catch (Exception e) {
e.printStackTrace();
Log.e("Error :: ", e.toString());
}
}
Ответ 11
Без разрешений манифеста или времени выполнения вы можете попробовать это.
Чтобы получить имя и контактный номер как из приложения-контакта. По этому коду приложение-контакт также покажет номер под именем контакта.
Код должен выбрать только одно имя и номер из приложения для контактов.
private void openContactSelectionIntent() {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(Intent.createChooser(intent, "Select Contact"), RC_SELECT_CONTACT);
}
И вот код метода onActivityResult
Uri uri1 = data.getData();
Cursor c = managedQuery(uri1, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
System.out.println("name is: " + name);
}
Cursor cursor = getContentResolver().query(uri1, null, null, null, null);
if (null == cursor) return;
try {
while (cursor.moveToNext()) {
String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
System.out.println("number is "+number);
}
}catch (Exception e){
e.printStackTrace();
}finally {
cursor.close();
}
Ответ 12
Вы также можете попробовать это решение, если у контакта несколько номеров.
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent , REQUEST_CODE_ADDRESS_BOOK
);
а затем для результата деятельности:
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (REQUEST_CODE_ADDRESS_BOOK):
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = getContentResolver().query(contactData, null, null, null, null);
c.moveToFirst();
String phoneNumber = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
c.close();
}
break;
}
}
И тогда номер будет в переменной phoneNumber.
Ответ 13
if (requestCode == RESULT_CONTACTS && resultCode == Activity.RESULT_OK) {
Uri uri;
Cursor cursor1, cursor2;
String TempNameHolder, TempNumberHolder, TempContactID, IDresult = "";
int IDresultHolder;
uri = data.getData();
cursor1 = getContentResolver().query(uri, null, null, null, null);
if (cursor1.moveToFirst()) {
TempNameHolder = cursor1.getString(cursor1.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
mToMeetName = TempNameHolder.trim();
TempContactID = cursor1.getString(cursor1.getColumnIndex(ContactsContract.Contacts._ID));
IDresult = cursor1.getString(cursor1.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
IDresultHolder = Integer.valueOf(IDresult);
if (IDresultHolder == 1) {
cursor2 = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + TempContactID, null, null);
while (cursor2.moveToNext()) {
TempNumberHolder = cursor2.getString(cursor2.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
mToMeetName = TempNumberHolder.trim();
mEditTextToMeet.setText(TempNumberHolder + "( " + TempNameHolder + " )");
//number.setText(TempNumberHolder);
}
}
}
}
Ответ 14
Вы можете использовать LiveData для получения имени и номера из списка контактов. Также проверьте разрешение контакта.
ReadContactsViewModel
public class ReadContactsViewModel extends AndroidViewModel {
private MutableLiveData<ArrayList<Contat>> contactList;
public ReadContactsViewModel(@NonNull Application application) {
super(application);
}
public MutableLiveData<ArrayList<Contat>> getContacts(Context context) {
if (contactList == null) {
String phoneNumber;
ArrayList<Contat> savedContacts = new ArrayList<>();
Contat savedContact;
ContentResolver cr = context.getContentResolver();
ArrayList<String> idList = new ArrayList<>();
if (cr != null) {
Cursor cur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, "UPPER(" + ContactsContract.Contacts.DISPLAY_NAME + ") ASC");
if (cur != null) {
while (cur.moveToNext()) {
phoneNumber = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
if (phoneNumber.length() > 9) {
savedContact = new Contat();
phoneNumber = phoneNumber.replaceAll("\\s+", "");
String id = phoneNumber.substring(phoneNumber.length() - 7);//last 7 digits of numbers
String name = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String photoThumb = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI));
savedContact.setNumber(phoneNumber);
savedContact.setName(name);
if (!idList.contains(id)) {
savedContacts.add(savedContact);
idList.add(id);
}
}
}
cur.close();
idList.clear();
}
}
contactList = new MutableLiveData<>();
contactList.setValue(savedContacts);
}
return contactList;
}
Теперь вы можете получить или отправить этот savedContactList
на сервер, я также использовал разрешение TedPermission
Library, вы можете использовать кого угодно
private void syncContacts() {
ReadContactsViewModel readContactsViewModel = ViewModelProviders.of(this)
.get(ReadContactsViewModel.class);
Observer<ArrayList<Contat>> readContactsObserver =
new Observer<ArrayList<Contat>>() {
@Override
public void onChanged(@Nullable ArrayList<Contat> savedContactList) {
assert savedContactList != null;
for (int i = 0; i < savedContactList.size(); i++) {
Contat savedContact = savedContactList.get(i);
contactPostList.add(new Contat(savedContact.getName(), savedContact.getNumber()));
}
youractiviy.this.postContactsToServer();
}
};
contactPermissionListener = new PermissionListener() {
@Override
public void onPermissionGranted() {
readContactsViewModel.getContacts(youractiviy.this)
.observe(youractiviy.this,
readContactsObserver);
}
@Override
public void onPermissionDenied(ArrayList<String> deniedPermissions) {
}
};
TedPermission.with(this).setPermissionListener(contactPermissionListener).setDeniedMessage(R.string.permission_denied).setPermissions(Manifest.permission.READ_CONTACTS).check();
}
Ответ 15
Это полный код для выбора номера из контактов по kotlin
companion object {
const val RQ_CONTACTS = 232
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (resultCode == RESULT_OK) {
if (requestCode == RQ_CONTACTS) {
data?.let { contactPicked1(it) }
}
super.onActivityResult(requestCode, resultCode, data)
}
}
private fun getContactByNumber() {
val intent = Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI)
intent.setDataAndType(ContactsContract.Contacts.CONTENT_URI, ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
startActivityForResult(intent, RQ_CONTACTS)
}
private fun contactPicked1(data: Intent) {
var cursor: Cursor? = null
try {
val uri = data.data
cursor = requireActivity().contentResolver.query(uri, arrayOf(ContactsContract.CommonDataKinds.Phone.NUMBER) , null, null, null)
if (cursor.moveToFirst()) {
val phoneNo: String? =
cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER))
//Your code Example: phoneNo?.let{dialogAddFriend.setTextToField(it) }
}
} catch (e: Exception) {
e.printStackTrace()
} finally {
cursor?.close()
}
}