1

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

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}); 
    } 

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

ответ

0

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

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

Сохраненное изображение Uri возвращается в действие вашего приложения в методе onActivityResult(). Для базовой демонстрации см. this sample app on GitHub.

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

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

Вы можете увидеть все необязательные методы на the Creative SDK developer portal's Image Editor guide.

Отметьте, что на портале разработчиков говорится, что вы должны передать 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();