“ 1)GROUP BY 1,(2” 在android版本10中不支持。它在低于android版本10的设备中正常运行。
private void fetchFolders() {
String str = "bucket_display_name";
String str2 = "_data";
Cursor query = getcontext().getcontentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,new String[]{"bucket_id","bucket_display_name","datetaken","_data"},"1) GROUP BY 1,(2",null,"MAX(datetaken) DESC");
if (query.moveToFirst()) {
int columnIndexOrThrow = query.getcolumnIndexOrThrow(str);
int columnIndexOrThrow2 = query.getcolumnIndexOrThrow(str2);
do {
String string = query.getString(columnIndexOrThrow);
String string2 = query.getString(columnIndexOrThrow2);
ModelClassForVideo modelClassForVideo = new ModelClassForVideo();
modelClassForVideo.setBoolean_selected(false);
modelClassForVideo.setsongPath(string2);
modelClassForVideo.setsongAlbum(string);
FolderArrayList.add(modelClassForVideo);
} while (query.moveToNext());
}
}
错误:
android.database.sqlite.SQLiteException: near "GROUP": syntax error (code 1 SQLITE_ERROR):,while compiling: SELECT bucket_id,bucket_display_name,datetaken,_data FROM video WHERE ((is_pending=0) AND (is_trashed=0) AND (volume_name IN ( 'external_primary','0d07-4012' ))) AND ((1) GROUP BY 1,(2)) ORDER BY MAX(datetaken) DESC