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
。这应该更好,因为您只关注一个文件