Я загружаю все альбомы с изображениями, используя MediaStore, и до Android Q он работал нормально. Но сегодня я увеличил свою версию компиляции до 29, и это исключение:
android.database.sqlite.SQLiteException: near "GROUP": syntax error (code 1 SQLITE_ERROR): , while compiling: SELECT bucket_id, bucket_display_name, mime_type FROM images WHERE ((is_pending=0) AND (is_trashed=0) AND (volume_name IN ( 'external_primary' ))) AND ( GROUP BY bucket_id )
Вот мой кодзапросить MediaStore:
String[] PROJECTION_BUCKET = {
MediaStore.Images.ImageColumns.BUCKET_ID,
MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
MediaStore.Images.ImageColumns.MIME_TYPE};
String BUCKET_GROUP_BY = "1) GROUP BY 1,(2";
String BUCKET_ORDER_BY = "MAX(datetaken) DESC";
Cursor cur = context.getContentResolver().query(getUriOfType(type),
PROJECTION_BUCKET,
BUCKET_GROUP_BY,
null,
BUCKET_ORDER_BY);
Поскольку группа не работает в Android Q
.
Есть ли какое-нибудь решение для этого?