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

     } 

回答

2

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

如果你愿意的话,至少可以当它完成通知:

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

的更多信息,请阅读here