Как предотвратить AdobeCreativeSDK автоматическое сохранение изображений на телефон Android?

У меня есть проблема здесь всякий раз, когда намерение редактора активировано, SDK автоматически сохраняет изображение в галерею. И снова один раз после того, как редактирование сделано в рамках намерения. Как я могу предотвратить автоматическое сохранение здесь?

AdobeImageEditorActivity.class

protected void performSave(Bitmap bitmap, Uri saveUri, CompressFormat outputFormat, int quality, boolean hires, AdobeImageEditorActivity.FinalAction action) {
        logger.info("performSave, uri:%s, quality: %d, action:%s", new Object[]{saveUri, Integer.valueOf(quality), action});
        File destFile;
        if(saveUri != null) {
            destFile = new File(saveUri.getPath());
        } else {
            destFile = this.getDefaultOutputDestination(outputFormat);
        }

        try {
            logger.log("trying to create the new file...");
            if(!destFile.exists() && !destFile.createNewFile()) {
                logger.error("Failed to create the file");
            }
        } catch (IOException var11) {
            var11.printStackTrace();

            try {
                logger.error("using a temporary file!");
                destFile = File.createTempFile("aviary-image-", ".jpeg");
            } catch (IOException var10) {
                var10.printStackTrace();
            }
        }

        LocalDataService service = (LocalDataService)this.getMainController().getService(LocalDataService.class);

        assert service != null;

        service.setDestImageUri(Uri.parse(destFile.getAbsolutePath()));
        AdobeImageEditorActivity.SaveHiResImageTask mSaveTask = new AdobeImageEditorActivity.SaveHiResImageTask(destFile, action, outputFormat, quality, hires);
        mSaveTask.execute(new Bitmap[]{bitmap});
    }

Я понял, что приведенный выше код может фактически выполнять это сохранение, однако это автоматически сгенерированный файл. Могу ли я сделать что-нибудь, чтобы предотвратить сохранение?

1 ответ

Автоматическое сохранение с помощью редактора изображений

Редактор изображений Creative SDK сохраняет отредактированное изображение, когда пользователь закрывает редактор изображений. Невозможно предотвратить это поведение.

Сохраненное изображение Uri возвращается в активность вашего приложения в onActivityResult() метод. Для демонстрации см. Этот пример приложения на GitHub.

Указание места сохранения отредактированного изображения

Можно указать место сохранения отредактированного изображения, используя withOutput() метод, передавая это File,

Вы можете увидеть все дополнительные методы в Руководстве по редактору изображений на портале разработчика Creative SDK.

Обратите внимание, что портал разработчика в настоящее время утверждает, что вы должны пройти Uri в withOutput(), но это неверно. Вы должны пройти в File:

    /* 1) Change the argument to your desired location */
    File file = new File(Environment.getExternalStorageDirectory() + File.separator + "test.jpg");
    try {
        file.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }

    Intent imageEditorIntent = new AdobeImageIntent.Builder(this)
            .setData(imageUri)
            .withOutput(file) /* 2) Pass the File here */
            .build();
Другие вопросы по тегам