Android 保存的图像需要一段时间才能显示在库中

Android 保存的图像需要一段时间才能显示在库中,android,Android,因此,在我的应用程序中,我保存了一张照片,然后它会出现在手机的多媒体资料中。我认为它看起来很快,但它不是即时的,因此我得到了不好的评价。我见过一些应用程序,它们会立即出现在图库中,我希望我的应用程序也能这样做,以避免更多的负面评论。我正在使用sendBroadcast,我认为这是最快的方法,但我想我错了 public File savePhoto(File pic,String ext) { File mediaStorageDir = new File(Environment.get

因此,在我的应用程序中,我保存了一张照片,然后它会出现在手机的多媒体资料中。我认为它看起来很快,但它不是即时的,因此我得到了不好的评价。我见过一些应用程序,它们会立即出现在图库中,我希望我的应用程序也能这样做,以避免更多的负面评论。我正在使用
sendBroadcast
,我认为这是最快的方法,但我想我错了

 public File savePhoto(File pic,String ext)
{
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Pics");



    // Create the storage directory if it does not exist
    if (!mediaStorageDir.exists())
    {
        if (!mediaStorageDir.mkdirs()) return null;
    }

    // Create a media file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    File mediaFile=null;

    mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + "."+ext);
    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Pics"))));

    Toast.makeText(this, "Image Saved", Toast.LENGTH_SHORT).show();

    return mediaFile;
}

我可能错了
sendBroadcast()
带有
意图。安装在媒体上的操作非常费力,可能会导致延迟

您可以尝试在其位置使用以下选项:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(mediaFile)));
我正在使用您在
sendBroadcast()方法上方创建的
mediaFile
。这应该更好,因为您只关注一个文件