2011-12-27 6 views
1

Android 프로그래밍이 처음인데 사진을 찍고 저장하는 Java 응용 프로그램을 작성하고 있습니다. 나는 의도를 통해 만들었지 만인데 나는 onActivityResult을 볼 수 없다.카메라 앱 만들기 - 수신

나는 그것을 내 전화 (삼성 갤럭시 S)로 테스트했으며 사진을 찍을 때 두 개의 버튼이있는 사진의 미리보기와 저장 중 하나가 저장됩니다. 이 작업을 수행하기 위해 코드에 뭔가를 추가하지 않았으므로 카메라와 다른 것으로 생각합니다. 이미지 캡처 후 onActivityResult을 실행하고 싶습니다 (미리보기에서 저장 버튼을 누른 후).

하지만 미리보기에서 버튼 저장을 누른 후 onActivityResult을 시작하면 결과가 반환됩니다.

내가 저장을 누른 후에 전체 앱이 종료되었음을 알리는 것을 잊지 마십시오. 여기

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    TakePicButton = (Button) findViewById(R.id.TakePicture); 
    TakePicButton.setOnClickListener((android.view.View.OnClickListener) this); 

} 

@Override 
public void onDestroy(){ 
    super.onDestroy(); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { 
     if (resultCode == RESULT_OK) { 
      // Image captured and saved to fileUri specified in the Intent 
      Toast.makeText(this, "Image saved to:\n" + data.getData(), Toast.LENGTH_LONG).show(); 

     } else if (resultCode == RESULT_CANCELED) { 
      Toast.makeText(this, "Picture was not taken", Toast.LENGTH_SHORT); 

     } else { 
      Toast.makeText(this, "Picture was not taken", Toast.LENGTH_SHORT); 

     } 
    } 

public void onClick(View v) { 
// TODO Auto-generated method stub 
if(v.getId() == R.id.TakePicture){ 

    // create Intent to take a picture and return control to the calling application 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

    fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name 

    // start the image capture Intent 
    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 
} 
} 
+1

저장 버튼을 누르면 onActvityResult()가 자동으로 호출됩니다. 코드가 없으면 무엇이 잘못되었는지를 말하기 어렵 기 때문에 인 텐트와 전체 onActivityResult() 메소드를 통해 카메라 활동을 호출하는 방법을 보여주는 코드 스 니펫을 게시하십시오. 감사. –

+0

이봐, 내 코드를 넣어. 당신이 뭔가를 생각하면 나에게 말해. 감사합니다 –

답변

0

, 당신은 , 그것을 조금 수정해야합니다 당신이 도서관에서 얻을 카메라 모두에서, SELECT_PICTURE 라이브러리에서 이미지를 얻기 위해 사용하는 데 도움이됩니다 아래의 코드를 시도 내 코드입니다

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
    case SELECT_PICTURE: 
      Uri selectedImageUri = data.getData(); 
      filemanagerstring = selectedImageUri.getPath(); 
      selectedImagePath = getPath(selectedImageUri); 
      if (selectedImagePath != null) 
       myFile = new File(selectedImagePath); 
      else if (filemanagerstring != null) 
       myFile = new File(filemanagerstring); 
      if (myFile != null) { 
       Bitmap bmp_fromGallery = decodeImageFile(selectedImagePath); 


     break; 
    case CAMERA_REQUEST: 

      Bitmap bmp_Camera = (Bitmap) data.getExtras().get("data"); 

     break; 
    default: 
     break; 
    } 
} 
+0

당신의 코드를 시도했지만 SELECT_PICTURE 또는 CAMERA_REQUEST는 코드에서 오류입니다. 왜 인식하지 못합니까? 감사합니다 –

+0

추가 개인 정적 최종 int SELECT_PICTURE = 1; \t 개인 정적 final int CAMERA_REQUEST = 2; –

+0

시도했지만 작동하지 않았습니다. –

관련 문제