获取手机通讯录跟sim卡通讯录

简介:

    /** 获取库Phone表字段 **/
    private static final String[] PHONES_PROJECTION = new String[] { Phone.DISPLAY_NAME, Phone.NUMBER };

    private List<ContactsModel> contactsModels = new ArrayList<ContactsModel>();


/** 得到手机通讯录联系人信息 **/

    private void getPhoneContacts() {
        ContentResolver resolver = mContext.getContentResolver();
        // 获取手机联系人
        Cursor phoneCursor = resolver.query(Phone.CONTENT_URI, PHONES_PROJECTION, null, null, null);
        if (phoneCursor != null) {
            while (phoneCursor.moveToNext()) {
                ContactsModel contactsModel = new ContactsModel();
                String contactName = phoneCursor.getString(0);
                // 得到手机号码
                String phoneNumber = phoneCursor.getString(1);
                // 当手机号码为空的或者为空字段 跳过当前循环
                if (TextUtils.isEmpty(phoneNumber))
                    continue;
                // 得到联系人名称
                contactsModel.setContactName(contactName);
                contactsModel.setPhoneNumber(phoneNumber);
                contactsModels.add(contactsModel);
            }
            phoneCursor.close();
        }
    }

    /** 得到手机SIM卡联系人人信息 **/
    private void getSIMContacts() {
        ContentResolver resolver = mContext.getContentResolver();
        // 获取Sims卡联系人
        Uri uri = Uri.parse("content://icc/adn");
        Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null, null);
        if (phoneCursor != null) {
            while (phoneCursor.moveToNext()) {
                ContactsModel contactsModel = new ContactsModel();
                // 得到手机号码
                String contactName = phoneCursor.getString(0);
                String phoneNumber = phoneCursor.getString(1);
                // 当手机号码为空的或者为空字段 跳过当前循环
                if (TextUtils.isEmpty(phoneNumber))
                    continue;
                contactsModel.setContactName(contactName);
                contactsModel.setPhoneNumber(phoneNumber);
                contactsModels.add(contactsModel);
            }
            phoneCursor.close();
        }

    }



联系人model类

public class ContactsModel {

    private String contactName;
    private String phoneNumber;

    public String getContactName() {
        return contactName;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

}


相关文章
|
iOS开发
iOS 获取手机中SIM卡数量
iOS 获取手机中SIM卡数量
175 0
|
12月前
《阿里云产品手册2022-2023 版》——物联网无线连接服务
《阿里云产品手册2022-2023 版》——物联网无线连接服务
151 1
|
云计算
阿里云产品体系分为6大分类——云计算基础——云通信——物联网无线连接服务
阿里云产品体系分为6大分类——云计算基础——云通信——物联网无线连接服务自制脑图
139 1
阿里云产品体系分为6大分类——云计算基础——云通信——物联网无线连接服务
阿里云物联网无线连接服务:做好菜鸟无人车黑科技的幕后英雄 | 6月25号云栖夜读
今天的首篇文章,讲述了:近几年电商购物节的巨大商流带动了物流行业的快速发展,在去年天猫双11宣告物流业进入10亿时代之后,整个产业对物流的效率和质量都提出了新的要求。随着物联网技术的井喷式爆发,自动化仓储、无人车运输、物流天眼、终端智能快递柜等应用开始涌现,其中大量的设备管理需要信息传输来实现,物联网无线连接就是这些应用的幕后英雄。
4390 0
|
物联网 调度
阿里云物联网无线连接服务:做好菜鸟无人车黑科技的幕后英雄
每年电商购物节都是一场包裹大迁徙,去年天猫双11已正式宣告物流业进入10亿时代,对物流的效率和质量提出了新的要求和挑战。随着物联网技术的井喷式爆发,自动化仓储、无人车运输、物流天眼、终端智能快递柜等应用开始涌现,其中大量的设备管理需要信息传输来实现,物联网无线连接就是这些应用的幕后英雄。
30082 0
|
监控 安全 物联网
阿里云:面向5G时代的物联网无线连接服务
在4月24日落幕的2019中国联通合作伙伴大会“5G+物联网(IoT)论坛”上,阿里云高级运营专家李茁出席圆桌对话,分享了5G时代物联网如何更好地推动行业完成生产、管理和商业模式的创新,阿里云又会以何种策略完成生态圈的共创和共赢。
3003 0
|
存储 Android开发 iOS开发
指导:大量联系人电话号码怎么导入iphone苹果手机通讯录?
想有没有简单的办法能帮我来快速批量操作完成,在网上查了很多方法都很复杂,搞了半天精疲力尽,在我快要放弃的时候遇到了一个网上常见简便的软件工具,金芝号码提取导入助手。它很轻松就解决了我的问题:大量联系人电话号码怎么导入iphone苹果手机通讯录?当然了安卓手机也是可以导入的,通用。我写了一个详细的图文教程。
1921 0
指导:大量联系人电话号码怎么导入iphone苹果手机通讯录?
|
存储 Java Windows
【100rmb】接的通讯录管理系统
该项目是用于日常生活中记录联系人信息的一款智能小工具。实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查找、删除、排序等功能。该项目是以 Windows 控制台为运行平台,所有的操作都应在控制台 上进行。

热门文章

最新文章