如何使我的应用程序的特定文件夹出现在图库中?

时间:2019-06-17 21:16:43

标签: c# android xamarin storage

我有这段代码可以正确存储在手机的内部存储中,并位于应用程序的文件夹中,该文件夹创建了一个名为“凭据”的文件夹,我该如何在Gallery中注册该文件夹?

private void ObtenerCaptura() {
            try {
                String timeStamp = new SimpleDateFormat("yyyyMMddHHmmss").Format(new Java.Util.Date());
                string folder = GetExternalFilesDir("credenciales").ToString();
                string folderFile = System.IO.Path.Combine(folder, timeStamp + ".jpg");
                var fos = new FileStream(folderFile, FileMode.CreateNew);
                bitmapCorte.Compress(Bitmap.CompressFormat.Jpeg, 100, fos);
                fos.Close();
                Toast.MakeText(this, "Captura guardada.", ToastLength.Short).Show();
            }
            catch (Exception e) {
                Android.App.AlertDialog.Builder alert = new Android.App.AlertDialog.Builder(this);
                alert.SetTitle("Funciones Android");
                alert.SetMessage("Ha ocurrido un error al cargar la captura.");
                alert.SetPositiveButton("Ok", (senders, args) =>
                {
                    //
                });
                Dialog dialog = alert.Create();
                dialog.Window.SetType(WindowManagerTypes.SystemAlert);
                dialog.Show();
                Log.Info(typeof(PolylineTask).Name, "Error al crear FileStream en ObtenerCaptura");
                Log.Error(typeof(PolylineTask).Name, e.Message);
            }
        }

1 个答案:

答案 0 :(得分:0)

我创建了一个新应用来测试该问题,并且可以使用以下方法:

MediaStore.Images.Media.InsertImage(this.ContentResolver, myBitmap, "SocialPhoto", "testing");

注意:

1。您需要获取图片的位图格式;

2。您需要在AndroidManifest文件中添加权限,并在Android M及更高版本中添加运行时权限。

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />