我正在撰写媒体播放器应用程序。我在网格视图中显示我的SD卡的所有视频。它工作正常。如果使用其他应用程序(如文件专家或文件管理器)对这些视频进行更改(如重命名,删除)的任何人都不会影响我的网格视图。我的网格仍然显示旧名称和已删除的文件。为了解决这个问题,我添加了刷新按钮。在这我正在使用
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
但KITKAT版本支持此功能。然后在谷歌之后,我得到了这个解决方案 Android How to use MediaScannerConnection scanFile 但我不知道如何在刷新按钮点击时使用MediaScannerConnection扫描我的SD卡。
答案 0 :(得分:1)
您可以使用scanFile
MediaScannerConnection
方法
例如,要刷新特定目录中的文件,可以调用:
for (File child : fileFolder.listFiles()) {
if (child.isFile()) {
fName = child.getName();
MediaScannerConnection.scanFile( MyActivity.this,
new String[] { "folderPath" + fName },
null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
//file scanned
}
});
}
}
查看来源here。
希望这有帮助!