Android 安卓SD卡安装延迟
我的应用程序中有一个活动,它基本上是一个画廊,显示SD卡上的图片。我正在使用此功能重新安装SD卡,以便在活动开始时扫描新图像:Android 安卓SD卡安装延迟,android,Android,我的应用程序中有一个活动,它基本上是一个画廊,显示SD卡上的图片。我正在使用此功能重新安装SD卡,以便在活动开始时扫描新图像: 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())));
问题是当我这样做的时候,画廊不会显示更新的图片,因为android需要时间来扫描。因此,我在这之后进行了睡眠,以等待扫描完成,如下所示:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
这可以工作,但会使应用程序暂停2秒钟。是否有更好的方法通过放置加载对话框来处理此问题?我不确定如何确定SD卡扫描何时完成,以便我可以继续活动。这绝对是一种不好的方法。首先,
Thread.sleep()
通常是应该避免的。其次,无法确保扫描已经完成(如果有很多图片或速度较慢的设备怎么办?)
更好的方法是异步执行此操作。您可以设置一个用于侦听的。此意图将包含您前面提供的目录作为数据字段