gpt4 book ai didi

android - 从 Android ICS 中的内存读取图像不起作用

转载 作者:行者123 更新时间:2023-11-30 04:10:11 25 4
gpt4 key购买 nike

我有一个程序可以从图库中检索图像。这是我的代码:

String[] id = {MediaStore.Images.Thumbnails._ID};
Cursor imageCursor = managedQuery(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, id, null, null, MediaStore.Images.Thumbnails.IMAGE_ID);
int image_col_index = imageCursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
int count = imageCursor.getCount();
//in a loop the below code goes {
ImageView i = new ImageView(mContext.getApplicationContext());
imageCursor.moveToPosition(position);
int id = imageCursor.getInt(image_col_index);
i.setImageURI(Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, ""+ id));
i.setScaleType(ImageView.ScaleType.CENTER_CROP);
i.setLayoutParams(new GridView.LayoutParams(70, 70));
//here I am storing this image i to a list for further use
}//here loop ends

以上代码在 Emulator 以及 Android 2.2 或 2.3Galaxy S 中运行良好。但是现在当我在 Galaxy Nexus 中运行它时,它无法从内存中读取图像。

唯一的区别是 Galaxy Nexus 在 Android 4.0 中运行并且不支持 SDCard,而是具有 13 GB 的内部存储空间。

所以我的问题是我应该在上面的代码中更改什么以便它可以在 Nexus 上运行。

我在想,由于 Nexus 不支持外部存储,因此可以通过将 URI 从 MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI 更改为 MediaStore.Images.Thumbnails.INTERNAL_CONTENT_URI 来解决。这对我有用还是我必须做其他事情。请指导我。

最佳答案

The only difference is Galaxy Nexus is running in Android 4.0 and is not supporting SDCard instead it has an internal storage of 13 GB.

并且您正在尝试从外部存储读取 :)

改变

i.setImageURI(Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, ""+ id));

i.setImageURI(Uri.withAppendedPath(MediaStore.Images.Thumbnails.INTERNAL_CONTENT_URI, ""+ id));

关于android - 从 Android ICS 中的内存读取图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com