首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从Android的联系人中获取ContactNumbers数组的联系人姓名?

从Android的联系人中获取ContactNumbers数组的联系人姓名,可以通过以下步骤实现:

  1. 获取联系人权限:在AndroidManifest.xml文件中添加读取联系人权限:
代码语言:txt
复制
<uses-permission android:name="android.permission.READ_CONTACTS" />
  1. 创建一个方法来获取联系人姓名和电话号码:
代码语言:txt
复制
private void getContactNumbers() {
    ArrayList<String> contactNames = new ArrayList<>();
    ArrayList<String> contactNumbers = new ArrayList<>();

    ContentResolver contentResolver = getContentResolver();
    Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

    if (cursor != null && cursor.getCount() > 0) {
        while (cursor.moveToNext()) {
            String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
            String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

            if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                Cursor phoneCursor = contentResolver.query(
                        ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                        null,
                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
                        new String[]{contactId},
                        null);

                if (phoneCursor != null) {
                    while (phoneCursor.moveToNext()) {
                        String phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                        contactNames.add(contactName);
                        contactNumbers.add(phoneNumber);
                    }
                    phoneCursor.close();
                }
            }
        }
        cursor.close();
    }

    // 在这里可以使用contactNames和contactNumbers数组进行后续操作
}
  1. 调用getContactNumbers()方法来获取联系人姓名和电话号码:
代码语言:txt
复制
getContactNumbers();

这样,你就可以从Android的联系人中获取ContactNumbers数组的联系人姓名了。

注意:以上代码只是获取联系人姓名和电话号码的基本示例,实际应用中可能需要进行异常处理、权限检查等。另外,腾讯云没有直接相关的产品和产品介绍链接地址,因此无法提供相关推荐。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android ContentProvider实现手机联系人读取和插入

    本文实例为大家分享了Android实现手机联系人读取和插入具体代码,供大家参考,具体内容如下 目标效果: ? ?...先在模拟器随便添加两个联系人,运行程序,再打开联系人,发现多了联系人“张三”,并且日志输出了三给安溪人姓名和手机号码还有号码类型。...DISPLAY_NAME")); Log.i("MainActivity","_ID "+id); Log.i("MainActivity","DISPLAY_NAME "+name); /*根据id查询联系人电话号码...everyEmail.close(); } } c.close(); } } /*插入*/ private void insert() { ContentResolver cr=getContentResolver(); /*向联系人中插入一行数据...values.put(Phone.TYPE,Phone.TYPE_MOBILE);//添加号码类型 uri=cr.insert(Data.CONTENT_URI, values); } } 3.操作联系人需要获取权限

    69610

    Android系统联系人全特效实现(上),分组导航和挤压动画

    记得在我刚接触Android时候对系统联系人中特效很感兴趣,它会根据手机中联系人姓氏首字母进行分组,并在界面的最顶端始终显示一个当前分组。...然后是加入一个简单LinearLayout,里面包含了一个ImageView用于显示联系人头像,还包含一个TextView用于显示联系人姓名。...先从简单开始,新建一个Contact实体类: public class Contact { /** * 联系人姓名 */ private String name; /** * 排序字母...toUpperCase(); if (key.matches("[A-Z]")) { return key; } return "#"; } } 可以看到,在onCreate方法中,我们系统联系人数据库中去查询联系人姓名和排序键...第三个alphabet参数这里传入了"#ABCDEFGHIJKLMNOPQRSTUVWXYZ"字符串,因为可能有些联系人姓名不在字母表范围内,我们统一用#来表示这部分联系人

    1.2K50

    c++课程设计具有简单功能通讯录管理系统

    2.以菜单方式工作(字符界面即可) 3.存储在手机卡上联系人信息包括:姓名和电话号码;存储在手机上联系人信息包括姓名,籍贯,电话号码,QQ号等信息 4.管理系统功能包括: a)新建联系人...说明,如果两个存储位置上都存在该联系人的话,需要在两个存储位置上都要进行修改操作) d)查询:根据名字查询联系人信息(查询结果不唯一) e)浏览:显示所有联系人信息 f)将联系人信息手机转存到手机卡上...g)将联系人信息手机卡上转存到手机上(同时要避免重复数据存在) 5.要支持继承、多态、重载(运算符重载、函数重载)等面向对象基本特点 6.提交程序源码和课程设计报告。...,并根据文件内容创建联系人对象数组 析构函数:将对象数组内容写入到文本文件中。...,并根据文件内容创建联系人对象数组 析构函数:将对象数组内容写入到文本文件中。

    75710

    Android ContentProvider之联系人数据库及操作

    “mimetype”是电话 或者 姓名 标示符编码: 例如:电话 对应“vnd.android.cursor.item/phone_v2” 姓名 对应“vnd.android.cursor.item/...Uri uri = Uri.parse(“content://com.android.contacts/raw_contacts”); raw_contacts表 该表保存了所有创建过手机测联系人,每个联系人占一行...该表保存了联系人RawContactID、ContactID、联系次数、最后一次联系时间、是否被添加到收藏夹、显示名字、用于排序汉语拼音等信息。...获取联系人_id Cursor query = getContentResolver().query(uri, new String[]{"_id"}, null, null, null);...=null && cursor.getCount() > 0){ //cursor中取出我们需要联系人姓名和电话 while(cursor.moveToNext()){

    94710

    iOS获取通讯录联系人信息

    IOS获取系统通讯录联系人信息 一、权限注册 随着apple对用户隐私越来越重视,IOS系统权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户授权。...二、获取通讯录联系人详细信息     //获取所有联系人数组     CFArrayRef allLinkPeople = ABAddressBookCopyArrayOfAllPeople(addBook...(people, kABPersonLastNameProperty));         //获取当前联系人中间名         NSString*middleName=(__bridge NSString...*)(ABRecordCopyValue(people, kABPersonMiddleNameProperty));         //获取当前联系人名字前缀         NSString*prefix...修改联系人操作就是将获取和添加和在一起,先获取到相应联系人引用,重设其属性字段即可。

    1.6K40

    抽丝剥茧C语言(高阶)静态通讯录

    静态通讯录 通讯录目录 初始化通讯录 添加联系人和展示通讯录联系人 删除联系人,修改联系人,查找联系人 排序通讯录 完整代码 通讯录目录 用C语言模拟出来一个通讯录,首先要分头文件和源文件,我这里分了一个头文件和两个源文件...首先,我们写通讯录鸭油7个功能: 添加联系人,删除联系人,修改联系人信息,查找联系人,展示通讯录联系人,排序通讯录中联系人,退出通讯录。...添加联系人和展示通讯录联系人 添加联系人首先要先判断通讯录是不是人数已经满了,然后在contacts结构体中person data[100]存放联系人信息,data[0]开始,那么count就是计算有多少个联系人...修改联系人就更容易了,直接将原来联系人信息覆盖掉就可以了,等于无循环版本添加联系人函数。...estimate(const void* p1, const void* p2) { return strcmp(((person*)p1)->name, ((person*)p2)->name);//比较联系人中姓名大小

    70600

    iOS获取通讯录联系人信息 原

    iOS获取系统通讯录联系人信息 一、权限注册 随着apple对用户隐私越来越重视,IOS系统权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户授权。...二、获取通讯录联系人详细信息     //获取所有联系人数组     CFArrayRef allLinkPeople = ABAddressBookCopyArrayOfAllPeople(addBook...(people, kABPersonLastNameProperty));         //获取当前联系人中间名         NSString*middleName=(__bridge NSString...*)(ABRecordCopyValue(people, kABPersonMiddleNameProperty));         //获取当前联系人名字前缀         NSString*prefix...修改联系人操作就是将获取和添加和在一起,先获取到相应联系人引用,重设其属性字段即可。

    1.3K40

    android经常使用电话操作

    给大家分享一下我一个Android工具类,能够获取手机里面的各种信息,包含拨打电话。 获取全部联系人姓名及电话,插入联系人姓名及电话,插入联系人姓名及电话。插入通话记录。获取用户全部短信。...Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + number)); context.startActivity(intent); } /* * 获取全部联系人姓名及电话..._ID)); // 获取联系人ID号,在SQLite中数据库ID Cursor phone = cr.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI...resultList.add(new ContactsInfo(name, strPhoneNumber)); } } return resultList; } /* * 插入联系人姓名及电话...Phone.TYPE, Phone.TYPE_MOBILE); cr.insert(ContactsContract.Data.CONTENT_URI, values); } /* * 批量插入联系人姓名及电话

    55810

    Android小程序实现访问联系人

    本文实例为大家分享了Android实现访问联系人具体代码,供大家参考,具体内容如下 要求: 编写程序,使用ContentProvider实现访问联系人 ContentProvider类作用: ContentProvider...(R.layout.activity_cp); textview = (TextView)findViewById(R.id.textview); //调用getContactInfo()方法获取联系人信息...(20.0f); //设置文本框文本 textview.setText("记录\t 名字\n"+result); } //getContactInfo()获取联系人列表信息,返回String...:name="android.permission.READ_CONTACTS" / (4)实现效果: 在联系人中添加几个联系人: 运行程序,手机里所有联系人ID及名字就会记录下来: ?...运行程序,手机里所有联系人ID及名字就会记录下来: ? 以上就是本文全部内容,希望对大家学习有所帮助。

    80920

    Android中ContentProvider用法

    " android:layout_height="wrap_content" /> 一个按钮,对应于获取联系人信息事件,一个ListView用于显示联系人信息...ContentResolver对象,并且调用query方法, * 传入联系人Uri,来查询联系人信息,类似于数据库查询方法。...contactsList.clear(); do { /* * 获取联系人姓名...ListView控件中,这个方法中 首先调用了ContentResolver类query方法并且传入储存联系人信息那张数据表Uri,用于查询联系人信息那张数据表数据,之后对查询返回结果Cursor...在这里,如果你用是模拟器,并且模拟器中没有联系人的话要添加几个联系人。不然就显示是空界面。这个需要注意一下 如果博客中有什么不正确地方,还请多多指点。 谢谢观看。。。

    2K10

    Android个人手机通讯录开发详解

    添加 分别添加联系人姓名:小 明 电话:13888899922          姓名:小 莉 电话:15866655588 添加联系人功能验证:姓名:小 明 电话:13888899922 ? ?...添加联系人功能验证:姓名:小 莉 电话:15866655588 ? ? 测试中一些问题:1....联系人电话号码不能重复添加,程序会终止退出,因为联系人电话号码是唯一(一个人可以有多个手机号,而一个手机号只能一个人使用 {该功能程序已经实现} )。           2....联系人信息为空不能成功添加。 再次添加联系人姓名:小 莉 电话:15866655588 ? ? ?...修改 修改联系人功能验证:姓名:小 明 电话:13888899922 ===》》》 姓名:小 明 电话:15888899922 注意小问题:必须输入联系人姓名和电话号码,才可以成功进行修改,在数据库中修改一句

    2K20
    领券