2016-06-30 63 views
0

在我的onActivityResult中,我有兩條if語句,一條是從庫中獲取圖片,另一條是從攝像頭獲取圖片。當我得到圖片uri後,它啓動adobe creative sdk編輯圖像。我得到編輯的圖像後,我想開始並將編輯後的圖像傳遞給另一個活動。開始活動並傳遞uri數據

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     //Gets the gallery image uri 
     if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { 
      Uri selectedImage = data.getData(); 
      String[] filePathColumn = {MediaStore.Images.Media.DATA}; 

      Cursor cursor = getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String picturePath = cursor.getString(columnIndex); 
      cursor.close(); 

      editPic(selectedImage); 
     } 

     //gets Camera pic taken uri 
     if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { 
      if (resultCode == RESULT_OK) { 
       // Image captured and saved to fileUri specified in the Intent 
       Uri mpicTaken = data.getData(); 
       editPic(mpicTaken); 
      } else if (resultCode == RESULT_CANCELED) { 
       // User cancelled the image capture 
      } else { 
       // Image capture failed, advise user 
      } 
     } 
     //edited image 
     Uri editedImageUri = data.getData(); 

     /* 
      Intent intent = new Intent("com.ayyogames.photoapp.Share"); 
      intent.putExtra("imageUri", editedImageUri); 
      startActivity(intent); 
      */ 
    } 

    public void editPic(Uri uri) { 
     Intent intent = new AdobeImageIntent.Builder(this) 
       .setData(uri) 
       .withOutputSize(MegaPixels.Mp10) 
       .withOutputQuality(100) 
       .build(); 

     startActivityForResult(intent, IMG_CODE_EDIT); 
    } 

回答

0

可以開放的存儲爲字符串像

intent.putExtra("imageUri", editedImageUri.toString()); 

然後在新的活動,只需將其轉換回

Uri imageUri = Uri.parse(extras.getString("imageUri")); 
+0

我要開始活動,並通過這個數據,但它直接到活動,不讓我編輯選擇第一 – S12

+0

在你的onActivityResult,如果你想在編輯圖片後開始另一個活動,你需要檢查requestCode:if(requestCode == IMG_CODE_EDIT){start ano這裏的活動} – Fuyuba

+0

這工作。 – S12