根据网上的一些资料自己学习整理的。

在查询中要注意由于android 2.0以上支持多个连续人,所以在获得联系人号码时有一定区别的。

public class GetContextActivity extends Activity {
private TextView tv = null;
private String contact_content = "";//用于保存所有查询到信息

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow();
requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
      
        this.tv = (TextView) this.findViewById(R.id.tt_contact_name);
    
        this.tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
      tv.setText(contact_content);
}
});
      
    }

public void getContact(){//获得所有联系人的资料
    ContentResolver cr =getContentResolver();
    Cursor crs = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
    while (crs.moveToNext()){
    int nameFiedColumnIndex = crs.getColumnIndex(PhoneLookup.DISPLAY_NAME);
    String contact  = crs.getString(nameFiedColumnIndex);//获得联系人姓名
    int numFiedColumnIndex = crs.getColumnIndex(PhoneLookup.TIMES_CONTACTED);
    String times = crs.getString(numFiedColumnIndex);//获得联系次数
    String contact_Id = crs.getString(crs.getColumnIndex(ContactsContract.Contacts._ID));//获得当前联系人的ID索引用于查询号码
    Cursor crs_Num = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "  
            + contact_Id, null, null);//注意第一个参数和上一个游标crs的参数是不同的。上一个是ContactsContract.Contacts.CONTENT_URI,并且第三个参数是为了得到和前面匹配的电话号码
    this.contact_content += "contact: " + contact + "   Times:" + times;
    while (crs_Num.moveToNext()){
    String strPhoneNum = crs_Num.getString(crs_Num.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    this.contact_content += "  Number: "+strPhoneNum;
    }
    this.contact_content += "\n";
   
    }
    crs.close();
    }

}

2.0 以下查询可以使用

int nameFiedColumnIndex = crs.getColumnIndex(PhoneLookup.NUMBER);//获得联系人电话的表头ID
  String contact  = crs.getString(nameFiedColumnIndex);

总的来所整个操作不是特别复杂,也是本人第一次写博文,如果有不完善的地方,请见谅。

android 如何查询电话当中的联系人,并查询出联系次数相关推荐

  1. 辽宁高考成绩查询电话2021,辽宁高考成绩查询电话号码多少,2021年辽宁高考查分电话...

    2020年辽宁高考查询方式目前官方暂未公布,具体查询电话可以去聚志愿网站查询,上面设有辽宁高考成绩电话查询.公众号查询.短信查询以及网址查询.下面是小编整理的2019年辽宁高考成绩查询方法,考生可以参 ...

  2. 2021威海高考成绩查询电话,2021威海高考成绩查询系统

    高考已经结束了,考试成绩无疑是大家非常关心的,不要着急.出国留学网小编为您带来了"<2021威海高考成绩查询系统>",仅供参考,希望能够帮助到你,祝你高考成绩优秀. 2 ...

  3. 查询电话联系人(包括sim卡)

    今天遇到一个需求查找联系人,并选择后电话号码于是上网搜索查找相关资料,但是网上的我搜到的例子都是能够查询到系统联系人却不能 查到sim卡里的,所以做了个案例记录. /** * 转账界面  * @aut ...

  4. Android学习之——操作SIM卡联系人

    今天!!!对,就是就是今天,,,,我终于换手机啦啦啦,四儿子拿到手啦...虽然是个二手货,不过人家他爸也不卖了,只能买二手货了,五儿子那凸凸的摄像头和价格又有点难以下咽. 嗯.....新机子到手,折腾 ...

  5. Android 保存号码至已有联系人,新建联系人,读取手机联系人

    添加必要的权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> & ...

  6. Android获取通讯录中的所有联系人工具类

    一个获取通讯录中所有联系人的工具类,存储在Map中,Map中key为手机号,value为联系人的姓名.还提供了一个根据手机号查询该手机号的联系人姓名的功能. 注:同一联系人可以存储多个手机号,但是同一 ...

  7. android 使用内容提供者获取手机联系人

    最近在学习安卓的相关内容, 正好在写获取手机联系人的程序, 就想到了内容提供者, 这里有几点需要注意, 写到这里, 以后方便自己查询. 1. 手机联系人的数据库是存储在 data/data/com.a ...

  8. android手机电话号码,Android开发:实现添加系统联系人(手机号码,姓名)

    之前遇到了一些知识没有总结的习惯,今天来回顾一下一个简单的小功能:Android开发中调起系统的联系人列表. 在网上收到了好多这方面的知识,自己在写代码的时候总结了一个最简化的方法,希望可以给大家提供 ...

  9. Android中获取手机中的联系人信息

    #Android中获取手机中的联系人信息 1.0.查看系统通讯录的表,表路径:data->data->com.android.providers.contacts->database ...

最新文章

  1. linux efi启动,可启动USB Linux的EFI/ UEFI
  2. abp angular 和mvc_使用.net core ABP和Angular模板构建博客管理系统(实现自己的业务逻辑)...
  3. Linux中su 和 su -的区别
  4. LibreOJ 数列分块入门
  5. IdentityServer4【QuickStart】之使用asp.net core Identity
  6. ASP.NET_读写Cookie
  7. Eclipse里git提交冲突rejected – non-fast-forward
  8. 【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点
  9. 相等变为1 编号_JavaScript 中的 4 个相等比较算法的介绍
  10. sql语句截断_SQL Server中SQL截断和SQL删除语句之间的区别
  11. 十折交叉验证python_机器学习(十二)交叉验证实例
  12. scrapy爬取阳光政务投诉
  13. c语言中常用运算符号
  14. 三菱q系列plc连接电脑步骤_三菱Q系列PLC以太网通信设置方法
  15. 欧洲为何没有互联网巨头?
  16. 基于机器学习的敏感信息泄露治理探索
  17. linux分区管理,Linux下磁盘分区管理
  18. 蚂蚁开放平台开发第三方授权登陆(二):PC端
  19. ati jti jwt 和_JWT jti和kid属性的说明
  20. 成都计算机博士点,2017学位授权审核结果公示!快看四川高校新增哪些博士点?...

热门文章

  1. h5公众号分享朋友、朋友圈
  2. 【转载】GPU深度发掘(一)::GPGPU数学基础教程
  3. MySQL报错1677
  4. 猜数字游戏(C语言)
  5. 电脑小写字母怎么切换_macOS amp; Windows 通吃,一套键鼠就能控制多台电脑
  6. 粒子群优化算法的寻优算法——非线性函数极值寻优Matlab
  7. Leetcode 048旋转图像(将矩阵逆时针旋转90度)(先对角线翻转,再左右翻转)
  8. woocommerce 分类到菜单_WooCommerce实用代码集合
  9. 2017工业互联网峰会 | 天拓四方助力中国工业生产、制造业转型升级
  10. 【数学】弧度和角度的转换