我正在使用像素电话android 10(Q)版本,试图获取媒体文件名和分组。我收到一些错误“ Android 10中的无效的列下(substr(displayname,1,1))”。它仅在android 10版本中发生,下面的版本运行正常。
代码
字符串选择= selectionArgs.first;
projection = {“ lower(substr(” + MediaStore.MediaColumns.DISPLAY_NAME +“,1,1))”,MediaStore.MediaColumns.DISPLAY_NAME,“ COUNT(*)AS COUNT”};
String queryKey =“ lower(substr(” + MediaStore.MediaColumns.DISPLAY_NAME +“,1,1))”;
选择+ =“)GROUP BY(” + queryKey;
cursor = contentResolver.query(uri, 投影, 选择 selectionArgs.second, null);
错误
无效的列下限(substr(displayname,1,1))
答案 0 :(得分:0)
SQL关键字。看看这个问题:
https://issuetracker.google.com/issues/130965914
使用仅请求一列然后使用Cursor.getCount()的组合可能会有所帮助,尽管我没有尝试过。我希望您在执行此操作时可能需要处理新的RecoverableSecurityException