gpt4 book ai didi

Android SDCard 挂载延迟

转载 作者:搜寻专家 更新时间:2023-11-01 09:13:52 26 4
gpt4 key购买 nike

我的应用程序中有一个 Activity ,它基本上是一个画廊,显示位于我的 SD 卡上的图片。我正在使用此功能重新安装 sdcard 以在 Activity 开始时扫描新图像:

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));    

问题是当我这样做时,画廊不显示更新的图像,因为 android 需要时间来扫描。所以我在那之后睡了一觉,等待扫描像这样完成:

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));    

try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}

这有效,但会使应用程序暂停 2 秒。有没有更好的方法通过放置一个加载对话框来处理这个问题?我不确定如何确定 SD 卡扫描何时完成,以便我可以恢复 Activity 。

最佳答案

这绝对是一个糟糕的方法。首先,Thread.sleep() 通常应该避免。其次,无法确定扫描是否已完成(如果有大量图片或设备速度较慢怎么办?)。

更好的方法是异步执行此操作。你可以设置一个BroadcastReciever收听 Intent.ACTION_MEDIA_SCANNER_FINISHED .此 Intent 将包含您之前作为数据字段提供的目录。

关于Android SDCard 挂载延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6155242/

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