0

我正在制作一个可用于构图图像的成帧器应用程序。我想在取景后将该图像保存在图库中,为此我设置了一个按钮来执行此操作,但是在下面的代码按钮中我无法保存我的图像。单击按钮后,它会使应用程序活动崩溃。请有人给我解决方案。我正在使用 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();
               }

           }


       }
   });

} ``
4

0 回答 0