将位图保存到内部存储,然后使用选择器选择它

时间:2017-12-20 14:58:45

标签: android bitmap

我试图将位图保存到图库,以便从ImagePicker意图再次打开它。

问题是 - 如果我将其保存在外部存储设备上,它将无法在没有它的设备上运行,并且当我将其写入内部存储设备时 - 它不会在图库中显示,所以我不能选择那个图像。

尝试了很多方法解决它,但到目前为止没有成功。

我的意思是,是否可以在内部存储中保存位图并从活动中打开它,从而调用从库中选择图像?

编辑:添加代码

private String saveToInternalStorage(Bitmap bitmapImage, String filename){
    ContextWrapper cw = new ContextWrapper(getApplicationContext());
    // path to /data/data/yourapp/app_data/imageDir
    File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
    // Create imageDir
    File mypath=new File(directory,filename + ".jpg");

    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(mypath);
        // Use the compress method on the BitMap object to write image to the OutputStream
        bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fos);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return directory.getAbsolutePath();
}

通过该程序,似乎保存位图是可以的,但我无法在图库中找到该文件。

0 个答案:

没有答案