介绍联系人模糊搜索的部分 http://topic.csdn.net/u/20100802/10/07420dc0-0690-44b0-9e93-a1ee7152f94d.html 补全函数: /** * 获取联系人名字 * @param name * @return */ private String getPersonName(String name){ String returnNm = new String(name); Log.i("LSR","name:"+name); //2.x名和姓按照西方习惯,需要拼接 if(this.SDK_VERSION>4){//2.x if(returnNm!=null && returnNm.length()>0){ int indexSpace = returnNm.indexOf(" "); if(indexSpace!=-1){ String fstName = returnNm.substring(indexSpace); String scndName = returnNm.substring(0,indexSpace); returnNm = fstName+scndName; } } } //1.6不需要处理 // Log.i("MMM","-----name:"+returnNm); return returnNm; } /** * ᄏᄀᆰᅬ셰ᄉᄏᄚ챼ᅡ→ * @param c * @return */ private String getPersonNumber(Cursor c){ String number = new String(); if(c != null){ if(SDK_VERSION > 4){//2.x int iId = c.getColumnIndex("_id"); String stringID = c.getString(iId); int phoneCount = c.getInt(c.getColumnIndex("has_phone_number")); // Log.i("LSR","stringID:"+stringID+" phoneCount:"+phoneCount); if(phoneCount>0){ //ᄏ샑ᅬ셰샤ᄉᄏᄚ챼ᅡ→ Cursor phones = getContentResolver().query(Uri.parse("content://com.android.contacts/data/phones"),null,"contact_id"+ " = " + stringID, null, null); if(phones.moveToFirst()){ do{ //ᄆ←ᅨᅮ샤ᄉᄏᄚ챼ᅡ→ number = phones.getString(phones.getColumnIndex("data1")); // Log.i("LSR","number:"+number); }while(phones.moveToNext()); } } }else{//<=1.6 int numberIndex = c.getColumnIndex(People.NUMBER); number = c.getString(numberIndex); } } // Log.i("MMM","-----phoneNumber:"+number); return number; }