0

我的应用程序能够拍摄照片并将其存储到指定的文件夹中。使用 ES 文件资源管理器,我能够确认图像已存储在 sd 卡和指定的文件夹中。

然而,我的画廊并没有立即展示这张专辑。这将需要相当长的时间。有什么方法可以让我立即使用代码进行检测?

以下广播代码似乎不起作用。我的画廊不会立即刷新以检索新创建的相册和图像。

请协助。谢谢!

if (type == MEDIA_TYPE_IMAGE){
            mediaFile = new File(mediaStorageDir.getPath() + File.separator +
            "IMG_"+ timeStamp + ".png");

             Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
             Uri contentUri = Uri.fromFile(mediaFile);
             mediaScanIntent.setData(contentUri);
             v.getContext().sendBroadcast(mediaScanIntent);

        }
4

1 回答 1

2

完成扫描可能需要一些时间。

如果您愿意,至少可以在完成时收到通知:

MediaScannerConnection.scanFile(
      getApplicationContext(), 
      new String[]{file.getAbsolutePath()}, 
      null, 
      new OnScanCompletedListener() {
         @Override
         public void onScanCompleted(String path, Uri uri) {
            // file was scanned
         }
      });

欲了解更多信息,请阅读此处

于 2013-02-23T19:22:51.840 回答