2011-03-01 69 views
2

我對編程非常陌生,並試圖使用板載攝像頭硬件製作應用程序,我的目的是拍攝一張照片;那麼當你點擊保存時,該圖片就會出現在一個新的活動中被編輯...我已經找了幾天關於如何最好地使用相機硬件...我被告知startActivity(new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE));接下來會初始化相機最簡單...我已經拿到相機來啓動甚至保存圖片,但我的問題在於;一旦我按下保存在相機上,相機活動重新加載,而不是將保存的圖片踢到可以編輯的新活動中......我知道我可能聽起來像一個完整的noob,而我是,但如果任何人都明白這一點,並可以幫助我會很感激。拍照,然後編輯保存的圖片問題!

回答

4

亞當,

在我的應用我用下面的代碼來啓動相機:

public void imageFromCamera() { 
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
    mImageFile = new File(Environment.getExternalStorageDirectory()+File.separator+"MyApp", 
      "PIC"+System.currentTimeMillis()+".jpg"); 
    mSelectedImagePath = mImageFile.getAbsolutePath(); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile)); 
    startActivityForResult(intent, TAKE_PICTURE); 
} 

這將圖像保存到路徑mSelectedImagePath這是/sdcard/MyApp/<systemtime>.jpg

然後您捕獲IMAGE_CAPTURE意圖的回報onActivityResult並啓動您的活動以編輯圖像!

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     switch(requestCode) { 
     case TAKE_PICTURE: 
        //Launch ImageEdit Activity 
      Intent i = new Intent(this, ImageEdit.class); 
        i.putString("imgPath", "mSelectedImagePath"); 
        startActivity(i); 
      break; 
     } 
    } 
} 

希望這有助於!

+0

@willytate我真的很感激幫助,我想我只是不明白它..當我輸入這個編碼時,我得到各種進口沒有解決的錯誤,當我認爲我已經修復它;我通過手機上的USB調試來運行它,並且一旦我點擊按鈕開始活動,我不斷收到意外的錯誤程序停止,請重試。 – Adam 2011-03-01 20:13:44

+0

你能編輯你原來的問題來添加你的代碼嗎?我可能能夠以這種方式更好地協助。 – 2011-03-01 20:19:49

+0

@willytate我寧願不要,只是爲了害怕看起來像一個白癡..繼承人我試圖用萊姆斯術語。按下mymenu.xml文件上的按鈕,然後將您發送到相機拍攝照片的位置,可以選擇使用照片或重新拍攝照片....然後,一旦選擇了該照片,我需要將照片拉上可以編輯的下一個屏幕....就像我說的,我對這個真的很陌生,所以也許我只是不知道應該去哪裏..如果你能解釋你認爲我的問題是我更願意如果需要的話,我的圖形才能交給你...再次感謝 – Adam 2011-03-01 21:31:07