gpt4 book ai didi

Android 如何使用 MediaScannerConnection 扫描文件

转载 作者:IT王子 更新时间:2023-10-29 00:02:36 26 4
gpt4 key购买 nike

我正在将图像添加到 SDCARD 上的文件夹中。由于图像和我的文件夹在图库中不会立即可见试图让 MediaScannerConnection 更新并显示图库中的文件夹/图像。这对我来说不是很好,因为画廊中没有任何内容。我只在 Eclipse AVD 中测试。

我没有看到太多关于这个的讨论,可能是因为 scanFile 是 api8 以来的新文件。有人可以展示这是如何完成的吗?

我在服务和 Activity 中都尝试过,但一直在尝试当 onScanCompleted 时 uri=null。

最佳答案

我意识到也许您正在寻找一个在 api 级别 8 之前可以工作的解决方案,而我无法理解 Mitch 的回答。我通过构建一个用于扫描单个文件的类来解决它:

import java.io.File;
import android.content.Context;
import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
import android.net.Uri;

public class SingleMediaScanner implements MediaScannerConnectionClient {

private MediaScannerConnection mMs;
private File mFile;

public SingleMediaScanner(Context context, File f) {
mFile = f;
mMs = new MediaScannerConnection(context, this);
mMs.connect();
}

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

@Override
public void onScanCompleted(String path, Uri uri) {
mMs.disconnect();
}

}

您可以像这样使用它来使 MediaScannerConnection 扫描单个文件:

new SingleMediaScanner(this, file);

关于Android 如何使用 MediaScannerConnection 扫描文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4646913/

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