Если кто-то, как я, пытается (и не может) заставить это работать с getContentResolver().query
, вот как мне это удалось:
* Обновлено благодаря комментариям @CL и @Wolfram Rittmeyer, так как они сказали, что это то же самое, что и для rawQuery *
Правильный путь:
public static String SELECTION_LIKE_EMP_NAME = Columns.EMPLOYEE_NAME
+ " like ?";
Cursor c = context.getContentResolver().query(contentUri,
PROJECTION, SELECTION_LIKE_EMP_NAME, new String[] { "%" + query + "%" }, null);
Предыдущий ответ, который был открыт для атаки SQL-инъекцией:
public static String SELECTION_LIKE_EMP_NAME = Columns.EMPLOYEE_NAME
+ " like '%?%'";
String selection = SELECTION_LIKE_EMP_NAME.replace("?", query);
Cursor c = context.getContentResolver().query(contentUri,
PROJECTION, selection, null, null);