0
我想通过输入特定号码的3-4位数字来搜索android用户的联系人列表。我已经写了下面的方法来做同样的事情,但是这只有在我编写了完整的10位数字并且不低于这个数字时才起作用。这意味着它只能用于完全匹配。 e.g我要开始98965的数量...等等..但我只给我的对手,当我键入完整9896511112用部分搜索字符串搜索联系人
public static void getContactDetails(Context context, String number, int type) {
String[] projection = new String[]{
ContactsContract.PhoneLookup.DISPLAY_NAME,
ContactsContract.PhoneLookup._ID,
ContactsContract.PhoneLookup.LOOKUP_KEY,
ContactsContract.PhoneLookup.PHOTO_URI,
ContactsContract.PhoneLookup.NUMBER};
Uri contactUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number.trim() + "%"));
Cursor cursor = context.getContentResolver().query(contactUri, null, null, null, null);
while (Common.nonNull(cursor) && cursor.moveToNext()) {
String lookUpKey = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup.LOOKUP_KEY));
String mobileNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.PhoneLookup.NUMBER));
Log.e("I am found", "Found " + number);
}
cursor.close();
}
请帮我找到我的错误。