在android中保存位图,但它';这是一张黑色的照片

在android中保存位图,但它';这是一张黑色的照片,android,bitmap,save,screen,Android,Bitmap,Save,Screen,我正在构建一个Android应用程序,它的工作之一就是从画布上保存一张图片。 截屏部分效果很好,问题是当我保存照片时。 当我试图查看应用程序保存的照片时,我会看到一个黑屏 我的保存代码是: private int saveToInternalStorage(Bitmap bitmapImage) { String path = Environment.getExternalStorageDirectory().toString(); OutputStream fO

我正在构建一个Android应用程序,它的工作之一就是从画布上保存一张图片。 截屏部分效果很好,问题是当我保存照片时。 当我试图查看应用程序保存的照片时,我会看到一个黑屏

我的保存代码是:

private int saveToInternalStorage(Bitmap bitmapImage) {
        String path = Environment.getExternalStorageDirectory().toString();
        OutputStream fOutputStream = null;
        File file = new File(path + "/drawings/");
        if (!file.exists()) {
            file.mkdirs();
        }
        file = new File(path + "/drawings/", "drawing.png");

        try {
            fOutputStream = new FileOutputStream(file);

            bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fOutputStream);

            fOutputStream.flush();
            fOutputStream.close();

            MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName());
            return 0;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            Toast.makeText(this, "Save Failed, Error 1", Toast.LENGTH_SHORT).show();
            return -1;
        } catch (IOException e) {
            e.printStackTrace();
            Toast.makeText(this, "Save Failed, Error 2", Toast.LENGTH_SHORT).show();
            return -1;
        }
    }
另外,照片没有出现在我的图库中

我能做些什么来解决这个问题


谢谢你,伊利亚。

如果你想保存手机屏幕的图片,那么你需要制作一个根应用程序。@Clarivoyant我有一个代码,基本上可以将我发送给它的视图绘制成位图,这意味着不需要root用户如果你想保存手机屏幕的图片,那么你需要制作一个root应用程序。@Clairevoyant我有一个代码,基本上可以将我发送给它的视图绘制成位图,这意味着不需要根目录如果你想保存手机屏幕的图片,那么你需要制作一个根目录应用程序。@Clairevoyant我有一个代码,它基本上把我发送给它的视图绘制成位图,这意味着不需要根目录