当前位置: 首页 > 面试题库 >

获取联系人姓名?

司空默
2023-03-14
问题内容

我想获取联系人姓名,但无法。看完这个答案后,我尝试使用family,给定的和显示的来获取名称,但没有任何效果

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == PICK_CONTACT && resultCode == RESULT_OK) {
            Uri contactUri = data.getData();
            Cursor cursor = getContentResolver().query(contactUri, null, null, null, null);
            cursor.moveToFirst(); //Move to first row...I actually dont know why this part is necessary, but I get an error without it... 
            int NumberColumn = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); //Int column is the column of the numbers
            int NameColumn = cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME);
            String contactNumber = cursor.getString(NumberColumn);
            String contactName = cursor.getString(NameColumn);
            Toast.makeText(MainActivity.this, ""+ contactNumber +"" +contactName, Toast.LENGTH_SHORT).show();

        }

/

public void addContact(View v){ //OnClick listener to launch contact picker
    Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
    startActivityForResult(intent, PICK_CONTACT);
}

问题答案:

尝试以下代码以获取特定号码的联系方式

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_CODE_PICK_CONTACTS && resultCode == RESULT_OK) {
        Log.d(TAG, "Response: " + data.toString());
        uriContact = data.getData();

        retrieveContactName();

    }
}

 private void 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);

    }

更多详细信息请参见下面的链接https://tausiq.wordpress.com/2012/08/23/android-get-contact-
details-id-name-phone-photo/



 类似资料:
  • 我是一个新的android和工作的应用程序,我需要所有的去话日志,号码,通话时长和姓名的联系人。所以我的问题是,我能为android系统的calllog.calls.content_uri表获取传出呼叫的名称和号码吗?或者我需要从单独的表中读取它并映射它。下面是我的代码。提前道谢。

  • 问题内容: 我正在尝试根据给定的联系人电话号码检索联系人姓名。我做了一个可以在所有API版本中使用的函数,因为我无法使其在1.6版中运行,而且我也看不到问题所在,也许有人可以发现它? 请注意,我已经为字符串替换了API常量,因此没有过时的警告问题。 问题答案: 使用反射而不是比较sdk版本。

  • 问题内容: 是否可以在一个查询中完成? 据我所知sim联系人的内容uri是 问题答案: 这很容易!:)

  • 本文向大家介绍Android获取手机联系人信息,包括了Android获取手机联系人信息的使用技巧和注意事项,需要的朋友参考一下 Android如何获取手机联系人信息,本文为大家揭晓。 获取手机联系人信息步骤: 1、获取 ContentResolver ContentResolver resolver = getContentResolver(); 2、resolver.query(*)查询信息 查

  • 问题内容: 我正在尝试阅读我的iOS通讯录的联系人图像,但遇到了一些 麻烦。 我有一个读取ABAddressBookRef的联系人信息 并将其放在结构上的方法。 but when I debug it, it stops on: 并且不显示任何错误消息。 我究竟做错了什么? 我正在使用模拟器的默认联系人对其进行测试,他们没有图像, 但是有占位符及其名字的第一个字母。 编辑: 我将代码更改为 并且在

  • 问题内容: 我知道ios swift有一个Contacts Framework ,可以在其中获取联系人,但是找不到任何方法可以一起获取所有联系人,而我可以从该数组访问每个联系人。所有用于获取联系人的方法似乎都需要某种条件。有什么方法可以将所有联系人聚集在一起? 谢谢 问题答案: 有关Contact Framework问题的许多答案都建议对各种容器(帐户)进行迭代。但是,Apple文档将“统一联系人