2017-07-26 91 views
1

我有一个Android应用程序可以拍照并将它们保存在外部存储器(“DCIM/Cameras”)中。但照片只有在重新启动我的方便之后才会出现。 是否有某种更新或解决方法?从节约自己的形象只有在重新启动设备后才会显示图片

我的源代码:

var dir = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDcim); 
var pictures = dir.AbsolutePath + "/Camera"; 
string name = System.DateTime.Now.ToString("yyyyMMdd_HHmmssfff") + ".jpg"; 
string filePath = System.IO.Path.Combine(pictures, name); 
FileStream output; 
Bitmap bitmap = BitmapFactory.DecodeByteArray(imageData, 0, imageData.Length); 
try 
{ 
    output = new FileStream(filePath, FileMode.Create); 
    bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, output); 
    output.Close(); 
    //Static Class that contains an methode for MediaScannerConnection.ScanFile 
    MediaGalleryHelper.AddFileToGallery(name); 
} 
catch (System.Exception ex) 
{ 
    System.Console.WriteLine(ex.ToString()); 
} 

回答

1

你必须让照相馆知道,一个新的照片已被添加。你可以使用下面的代码:

this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + filePath))); 

这是一个活动。

+0

非常感谢!这解决得很好。 – Julian

相关问题