问题描述
首先,这是我第一次在这里提问,所以如果我做错了什么,请告诉我。我的应用程序中有一个活动,它列出了用户设备上的所有公共(外部)图像,并允许他们选择要插入到帖子中的图像。在 Android 9 之前一切正常,但在 10 及更高版本上,图像不显示。我知道这是因为新的范围存储,并且已经读到 Columns.DATA 和 Columns.INDEX 已被弃用,我相信我必须使用 fileDescriptor,但我在理解它时遇到了问题。
我正在使用此代码列出所有文件夹,第一张图像显示为文件夹缩略图...
\\
public void
getAllShownImagesPath(Activity activity) {
android.net.Uri uri;
android.database.Cursor cursor;
int column_index_data,column_index_folder_name;
String absolutePathOfImage
= null;
uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI; String[] projection = {
android.provider.MediaStore.MediaColumns.DATA,android.provider.MediaStore.Images.Media.BUCKET_disPLAY_NAME };
cursor = activity.getContentResolver().query(uri,projection,null,null);
column_index_data = cursor.getColumnIndexOrThrow(android.provider.MediaStore.MediaColumns.DATA);
column_index_folder_name = cursor
.getColumnIndexOrThrow(android.provider.MediaStore.Images.Media.BUCKET_disPLAY_NAME);
while (cursor.movetoNext()) {
absolutePathOfImage = cursor.getString(column_index_data);
_filterToFolder(absolutePathOfImage);
};
}
///
然后,我将数据放入 grideview,当点击时,我列出了 grid view 中的所有图像..
但我很确定主要问题在于上面的代码,因为在 Android 10 及更高版本上,文件夹不会出现。
我已经搜索过,但没有找到以这种方式使用文件描述符的好例子,而不是获取图像的路径。
真诚地感谢任何帮助...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)