繁体   English   中英

无法将位图图像保存在我的画廊中

[英]Can't save bitmap images in my gallery

我有一个显示照相机的片段,当用户单击主按钮时,会拍摄一张照片。 我试图在图库中创建一个路径并将图像保存在那里,但是每次在模拟器中打开图库时,都没有包含图像的文件夹。 您知道什么可能导致此问题吗? 这是我的代码:

代码创建路径并保存图像

private void saveImage(Bitmap finalBitmap, String image_name) {

   final String appDirectoryName = "/Feel/";
   String root = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES).toString() + appDirectoryName;
     File myDir = new File(root);
    myDir.mkdirs();
    String fname = "Image-" + image_name + ".jpg";
    File file = new File(myDir, fname);
    if (file.exists()) file.delete();
    Log.i("LOAD", root + fname);
    try {
        FileOutputStream out = new FileOutputStream(file);
        finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

改用此代码

private void saveImage(Bitmap finalBitmap, String image_name) {
     try {

            FileOutputStream outStream = null;
            File sdCard = Environment.getExternalStorageDirectory();
            File dir = new File(sdCard.getAbsolutePath() + "/YourFolderName");
            dir.mkdirs();
            String fileName = String.format("%d.jpg", image_name);
            File outFile = new File(dir, fileName);
            outStream = new FileOutputStream(outFile);
            finalBitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
            outStream.flush();
            outStream.close();
                Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
}

并且不要忘记添加对外部存储进行读写的权限
看到更多细节许可的书面拒绝尽管允许外部存储

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM