使用REGEX表达式查询android联系人

时间:2012-09-21 07:57:50

标签: android android-contacts contactscontract

我想让搜索模块就像Android键盘一样,提供以数字开头的联系人列表,以及以键盘用户类型的文本开头。基本上我想搜索具有显示名称和号码的联系人,因为android native app正在给出结果。

我已经动态制作了正则表达式,但我唯一的问题是我如何使用正则表达式查询联系人?

2 个答案:

答案 0 :(得分:0)

Android不支持这种查询联系人列表的方式,但在我看来,以标准方式阅读所有联系信息并且丢弃与正则表达式不匹配的结果是实用且容易的。

答案 1 :(得分:0)

你试过了吗?

String search = "%" + search_term + "%";
getContentResolver().query(
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
                    new String[] { 
                            Phone._ID,
                            Phone.CONTACT_ID ,
                            Phone.NUMBER,
                            Phone.TYPE,
                            Phone.DISPLAY_NAME},
                            Phone.DISPLAY_NAME + " LIKE ? OR " + Phone.NUMBER + " LIKE ?",
                            new String[] { search, search },
                            Phone.DISPLAY_NAME);
        }