80,351
社区成员
发帖
与我相关
我的任务
分享
/**
* 处理本地搜索
* @param content---搜索内容
*/
public List<ItemDate> searchInfo(String content){
List<ItemDate> list = new ArrayList<ItemDate>();
Log.i("LSR","----------search start---------content:"+content);
if(content == null || content.length()==0 || content.equals(" "))
return list;
Cursor cursorInbox = getContentResolver().query(Uri.parse("content://sms/inbox"),
null, null, null, null);//获取收件箱信息,可以查询收件箱
Cursor cursorSendbox = getContentResolver().query(Uri.parse("content://sms/sent"),
null, null, null, null);//发件箱信息,可以查询发件箱
Uri personUri = null;
String columnName = null;
if(SDK_VERSION>4){//2.x,sdk版本
personUri = Uri.parse("content://com.android.contacts/contacts");//new Uri("content://com.android.contacts/contacts");
columnName = "display_name";
}else{//1.6以下SDK
personUri = Contacts.People.CONTENT_URI;
columnName = Contacts.People.NAME;
}
String tmpNum = new String();//记录临时号码
//处理联系人和邮件
Cursor c = getContentResolver().query(personUri,
null, columnName+" like \'%"+content+"%\'", null, null);//查询所有包含content的名字
Cursor newcur = null; //处理邮箱的获取
//获取联系人姓名
for(c.moveToFirst();!c.isAfterLast();c.moveToNext()){
int iNameIndex = c.getColumnIndex(columnName);
String stringName = c.getString(iNameIndex);
//2.x需要对名和姓做拼接
stringName = getPersonName(stringName);
String number = getPersonNumber(c);
//处理邮件
String email = getPersonEmail(newcur, c);
//判断是否存在联系人
//忽略大小写
if(regionMatches(content, stringName)){
list.add(new ItemDate(stringName, number, email, ID_NUMBER, 0));//添加联系人信息
tmpNum = number;
if(email!=null && email.length()>0)
list.add(new ItemDate(stringName, number, email, ID_EMAIL, 0));//添加邮件信息
}
//用完关闭
if(newcur != null){
newcur.close();
newcur = null;
}
if(c != null){
c.close();
c = null;
}
if(cursorInbox != null){
cursorInbox.close();
cursorInbox = null;
}
if(cursorSendbox != null){
cursorSendbox.close();
cursorSendbox = null;
}
return list;
// updatelist();
}
Cursor c = getContentResolver().query(personUri,
null, columnName+" like \'%"+content+"%\'", null, null);//查询所有包含content的名字