请教一下大牛!有关于android 通过电话号码查询通讯录的问题。

============问题描述============

 private void getContactPeople(String incomingNumber)

    {

    	myTextView1.setTextColor(Color.BLUE);

    	ContentResolver contentResolver = getContentResolver();

    	Cursor cursor = null;

    	

    	String[] projection = new String[]

    	{

    		ContactsContract.Contacts._ID,

    		ContactsContract.Contacts.DISPLAY_NAME,

    		ContactsContract.CommonDataKinds.Phone.NUMBER

    	};

    	cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, 

        ContactsContract.CommonDataKinds.Phone.NUMBER + "=?", new String[]

        { incomingNumber }, "");

    	if(cursor.getCount() == 0)

    	{

    		myTextView1.setText("unknown Number:" + incomingNumber);

    	}

    	else if (cursor.getCount() > 0)

    	{

    		cursor.moveToFirst();

    		String name = cursor.getString(1);

    		myTextView1.setText(name + ":" + incomingNumber);

    	}

    }

代码是为了根据电话号码,来查询通讯录里的联系人的名称。通讯录里有incomingNumber的号码的联系人,可是cursor.getCount()就是等于0,请教一下是什么原因,程序应该怎么改。

============解决方案1============

我用你的方法写了一个可运行程序,共享下代码

http://download.csdn.net/detail/qianqucaicaizi/4276224

时间: 2024-11-02 21:13:42

请教一下大牛!有关于android 通过电话号码查询通讯录的问题。的相关文章

Android SQLite 通配符查询找不到参数问题

使用Android SQLite中SQLiteDatabase类的query方法查询时,如果where中包含通配符,则参数会无法设置,如类似下面的方法查询时 1 SQLiteDatabase db = dbHelper.getReadableDatabase(); 2 cursor = db.query(null, "name like '%?'", new String[] { name }, null, null, null, null); 将会抛出下面的异常 android.da

android如何取得本地通讯录的头像的原图

上几篇讲contact的时候,取得的头像都是存在数据库中,通过: cursor = context.getContentResolver().query( ContentUris.withAppendedId(ContactsContract.Data.CONTENT_URI, photoId), new String[] { Photo.PHOTO }, null, null, null); 来获取 其实如果我们在本地通讯录中,如果替一个联系人加上图库或拍照的图片,那么系统会把这个图片的清晰图

Android系统代码查询命令集合

*#06# 显示MEID *#*#4636#*#* 显示版本,或更新相机韧体 *#*#7594#*#* 当长按关机按钮时,会出现一个切换手机部分设置及更改设定 WLAN. GPS 及蓝牙测试的代码 *#*#232338#*#* 显示 WiFi MAC 地址 *#*#1472365#*#* GPS 测试 *#*#1575#*#* 其它 GPS 测试 *#*#232331#*#* 蓝牙测试 *#*#232337#*# 显示蓝牙装置地址 *#*#8255#*#*启动 GTalk 服务监视器 显示版本的

android 验证电话号码或者固定电话 均可

        /*  * 验证号码 手机号 固话均可  *   */ public static boolean isPhoneNumberValid(String phoneNumber) { boolean isValid = false; String expression = "((^(13|15|18)[0-9]{9}$)|(^0[1,2]{1}\\d{1}-?\\d{8}$)|(^0[3-9] {1}\\d{2}-?\\d{7,8}$)|(^0[1,2]{1}\\d{1}-?\\d

(android)解剖contentProvider获取通讯录列表-002

//基于上一次说的内容 ,我们来弄下获取联系人详细信息,直接上代码,在第三篇补上其他的操作 package org.mo.pmas.resolver; //本文章归属于小黑_mo所有,转载请说明出来http://my.oschina.net/moziqi/ import android.content.ContentResolver; import android.content.ContentUris; import android.content.Context; import androi

Android 自定义 View 实现通讯录字母索引(仿微信通讯录)

一.效果:我们看到很多软件的通讯录在右侧都有一个字母索引功能,像微信,小米通讯录,QQ,还有美团选择地区等等.这里我截了一张美团选择城市的图片来看看: 我们今天就来实现图片中右侧模块的索引功能,包括触摸显示以选中的索引字母.这里我的UI界面主要是参照微信的界面来实现,所以各位也可以对照微信来看看效果,什么都不说了,只有效果图最具有说服力! 二.分析: 我们看到这样的效果我们心理都回去琢磨,他是如何实现的: 首先,它肯定是通过自定义 View 来实现的,因为 Android 没有提供类似这样的控件

android query 模糊查询

package com.example.utils; import java.util.ArrayList; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelpe

Android程序设计-简单手机通讯录

在微信中,手机QQ中你会发现软件读取手机通讯录这个功能,这个功能使得软件更好的与手机联系人绑定,从而达到分享,拨打电话,读取用户信息等操作.下面我们将通过一个demo实现这个功能 首先我们看一下效果图: -----------------------------------------------------------[正题部分]----------------------------------------------- [开发环境]Android Stdio 1.1.0 [分析] 软件中含

android 导入数据(通讯录)

接着android 中导出数据 一文,下面介绍在android中导入数据的思路: 1.将数据从文本中读取出来 2.封装处理成自己想要的对象或模型 3.将处理好的数据对象插入自己应用的数据库中 4.更新UI显示 下面仍以导入联系人至系统中为例,若是导入自己的应用中,思路一样甚至更简单,代码如下: 注:我的联系人.txt的格式即为android 中导出数据 一文生成的格式 MainActivity: 1 package com.home.impcontact; 2 3 import java.io.