gpt4 book ai didi

android - 通过 MediaScannerConnection 客户端获取图像的内容方案 Uri

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

我有一些图片存储在外部 SD 卡中,我想在 GridView 中显示它们的缩略图。我知道媒体扫描仪已经创建了缩略图,因为我可以使用标准图库应用程序浏览我的图片文件夹,但我不知道这些缩略图位于何处,所以我不知道如何将它们添加到我的 GridView.

我正在尝试获取缩略图:

MediaStore.Images.Thumbnails.getThumbnail(getContentResolver(), Long.parseLong(_imageUri.getLastPathSegment()), type, null)

_imageUri 必须是内容架构 Uri,因此我的问题是找到一种方法将图像的文件架构 Uri 转换为内容架构 Uri。不幸的是我不知道该怎么做。我已经看到很多 SO 线程推荐使用 Uri.parse() 但它不起作用,所以我正在寻找不同的解决方案。

我目前的方法是使用媒体扫描器扫描单个文件,并尝试从 onScanCompleted 回调中检索内容 Uri。代码是:

public class SimpleMediaScanner implements MediaScannerConnectionClient {
private MediaScannerConnection mMSC;
private File mFile;
private MyAdapter mAdapter;

public SimpleMediaScanner(Context c, File f, MyAdapter a) {
mAdapter = a;
mFile = f;
mMSC = new MediaScannerConnection(c, this);
mMSC.connect();
}

@Override
public void onMediaScannerConnected() {
mMSC.scanFile(mFile.getAbsolutePath(), null);
}

@Override
public void onScanCompleted(String path, Uri uri) {
// Store the content scheme Uri of the scanned file
// in a public field of the adapter
mAdapter.mThumbUri = uri;
mMSC.disconnect();
}
}

我从我的扩展 SimplecursorAdapter 实例化这个类:

SimpleMediaScanner sms = new SimpleMediaScanner(mContext, new File(filepath), this);

不幸的是,返回的 mAdapter.mThumbUri 值始终为 null。有人可以告诉我我做错了什么吗?时间差

最佳答案

您尝试过 MediaStorage.Images.Thumbnails 吗?类(class)?它提供了两个静态 getThumbnail(...) 方法来满足您的需求。

关于android - 通过 MediaScannerConnection 客户端获取图像的内容方案 Uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12115971/

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