1

편집기 의도가 활성화 될 때마다 여기에서 문제가 발생합니다. 자동으로 sdk가 이미지를 갤러리에 저장합니다. 그리고 편집이 의도 내에서 완료되면 다시 한번. 자동 저장을 어떻게 방지합니까?AdobeCreativeSDK가 안드로이드 폰에 이미지를 자동 저장하는 것을 방지하는 방법은 무엇입니까?

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 이미지 편집기를 사용하여 편집 된 이미지를 저장하여 저장합니다. 이 문제를 방지하는 것은 불가능합니다.

저장된 이미지 UrionActivityResult() 방법으로 앱의 활동으로 전달됩니다. 기본 데모는 this sample app on GitHub을 참조하십시오.

는 수정 된 이미지는 편집 된 화상을 한번 File를 전달 withOutput() 방법을 사용하여 저장 위치를 ​​지시 할 수있다

저장된 위치를 지시.

모든 선택 가능한 방법은 the Creative SDK developer portal's Image Editor guide에 있습니다.

개발자 포털은 현재 UriwithOutput()으로 전달해야한다고 명시하지만 잘못된 내용입니다. 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(); 
관련 문제