0

我正在编写一个媒体播放器应用程序。我在网格视图中显示我的 sd 卡的所有视频。它工作正常。如果有人使用文件专家或文件管理器等其他应用程序对这些视频进行更改(如重命名、删除)不会影响我的网格视图。我的网格仍然显示旧名称和已删除的文件。为了解决这个问题,我添加了刷新按钮。在这个我使用

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

但这在 KITKAT 版本中不受支持。然后在谷歌之后,我得到了这个解决方案 Android How to use MediaScannerConnection scanFile 但我不知道如何在我的刷新按钮单击时使用 MediaScannerConnection 扫描我的 sdcard。

4

1 回答 1

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
              }
        });
    }
}

在此处查看源代码。

希望这有帮助!

于 2014-02-20T07:59:51.313 回答