我正在制作一个可用于构图图像的成帧器应用程序。我想在取景后将该图像保存在图库中,为此我设置了一个按钮来执行此操作,但是在下面的代码按钮中我无法保存我的图像。单击按钮后,它会使应用程序活动崩溃。请有人给我解决方案。我正在使用 api 级别 >29。
``` dlbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
OutputStream outputStream;
BitmapDrawable drawable = (BitmapDrawable) mainimg.getDrawable();
Bitmap bitmap = drawable.getBitmap();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
{
ContentResolver resolver = MainActivity2.this.getContentResolver();
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME,"Image_"+".jpg");
contentValues.put(MediaStore.MediaColumns.MIME_TYPE,"image/jpeg");
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH,Environment.DIRECTORY_PICTURES + File.separator+"TestFolder");
Uri imageUri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,contentValues);
try {
outputStream = resolver.openOutputStream(Objects.requireNonNull(imageUri) );
bitmap.compress(Bitmap.CompressFormat.JPEG,100,outputStream);
Objects.requireNonNull(outputStream);
Toast.makeText(MainActivity2.this, "Image Saved", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(MainActivity2.this, "Image Not Not Saved: \n "+e, Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}
});
} ``