Чтение и запись в одно и то же место в android - PullRequest
0 голосов
/ 13 июля 2020

Я читаю изображение со своего устройства и после применения фильтров хочу сохранить в том же месте, откуда оно было прочитано. Я получаю изображение через объект uri, но не могу сохранить его в той же папке, используя этот uri. Я могу хранить изображение в произвольном месте, используя Environment.getExternalStorageDirectory(), но не в той же папке. Редактировать 1 Вот как я получаю свое изображение

uri = data.getData();
ParcelFileDescriptor parcelFileDescriptor =
                        getContentResolver().openFileDescriptor(uri, "r");
FileDescriptor fileDescriptor =parcelFileDescriptor.getFileDescriptor();
original = BitmapFactory.decodeFileDescriptor(fileDescriptor);
parcelFileDescriptor.close();
imageView.setImageBitmap(original);

Вот как я сохраняю его обратно

imageView1 = findViewById(R.id.image_view);
        File dir = Environment.getExternalStorageDirectory();
        File path = new File(dir, "copy.jpg");
        Bitmap bitmap = ((BitmapDrawable) imageView1.getDrawable()).getBitmap();
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream(path);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream);
            Toast.makeText(this, String.valueOf(path), Toast.LENGTH_LONG).show();
        } catch (IOException e) {
            Log.i("cs50", "File not saved");
        } finally {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
...