gpt4 book ai didi

android - MediaScanner、onScanCompleted 未被调用

转载 作者:行者123 更新时间:2023-11-29 21:56:16 31 4
gpt4 key购买 nike

我对 MediaScanner 有疑问。我使用它通过以下代码扫描单个文件:

public class SingleMediaScanner implements MediaScannerConnectionClient {

private static final String TAG = "SingleMediaScanner";

public MediaScannerConnection mMs;
private String mFile;

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

public void onMediaScannerConnected() {
Log.d(TAG, "MediaScanner conectado");
mMs.scanFile(mFile, null);
}

public void onScanCompleted(String path, Uri uri) {
Log.d(TAG, "MediaScanner terminó de escanear");
mMs.disconnect();
}
}

如果我在 Activity 开始时扫描文件 (onCreate),它会完美运行。连接扫描仪,扫描文件,然后完成。

但是如果我调用扫描器然后转到另一个 Activity ,则 MediaScanner 会泄漏内存,因为它没有调用 onScanCompleted 方法。如果我在离开 Activity 之前将 unbindService() 与扫描仪一起使用,扫描仪将无法工作(该文件不会出现在图库应用程序中)。

我离开 Activity 时需要使用扫描仪。我能做什么?

最佳答案

还有其他方法可以通过使用静态 scanFile() 方法或发送 BroadCast 将文件添加到图库中。通常这些应该可以很好地满足您的需要。如果您需要对添加过程进行一些控制,则只需要 MediaScannerConnection。

我写了一篇关于如何使用另一个 methods to trigger the MediaScanner 的博文.

关于android - MediaScanner、onScanCompleted 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13153907/

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