android通讯录根据手机号码查询姓名

本文介绍了如何在Android中通过手机号码查询通讯录中的联系人姓名,以及如何根据姓名查找对应的手机号码。在查询过程中,注意到数据库中手机号码可能包含空格或横线,通过相应调整查询条件解决了这个问题。
摘要由CSDN通过智能技术生成
最近有个关于通讯录开发的需求,需求很简单:根据手机号码查询姓名。之前有获取通讯录列表的代码如下:
/**
	 * 获取本机手机联系人列表
	 * 
	 * @author yinbiao
	 * @date 2016-4-5 上午11:03:48
	 * @param context
	 * @return
	 */
	public synchronized static List<MocamContact> getLocalPhoneContacts(Context context) {
                String[] projection = { Phone.DISPLAY_NAME, Phone.NUMBER };
		List<MocamContact> list = new ArrayList<MocamContact>();
		ContentResolver resolver = context.getContentResolver();
		// 获取手机联系人
		Cursor cursor = resolver.query(Phone.CONTENT_URI, projection, null, null, null);

		if (cursor != null) {
			while (cursor.moveToNext()) {
				// 得到手机号码
				String phoneNumber = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));
				// 如果不是正確的手機號碼 跳过当前循环
				if (!isMobileNomber(phoneNumber)) {
					continue;
				}
				// 得到联系人名称
				String name = cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME));
				
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值