2011-03-25 4 views
0

Android 데모를 만들려고합니다. 데모에서는 카메라를 액티비티에 표시하고 사진을 찍은 다음 다른 액티비티로 넘어 가서 사진과 작은 메뉴가있는 카메라를 볼 수 있습니다.카메라를 시작하고 사진을 찍는 방법

어떻게 카메라를 시작하고 사진을 찍을 수 있습니까?

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

이것은 /sdcard/MyApp/.jpg입니다 경로 mSelectedImagePath에 이미지를 저장합니다 : 내 응용 프로그램에서

답변

6

나는 카메라를 실행하려면 다음 코드를 사용합니다.

그런 다음 onActivityResult에서 IMAGE_CAPTURE 인 텐트의 반환을 캡처하고 거기에서 이미지를 편집하기위한 활동을 시작하십시오!

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

는 코드 샘플입니다.

Uri mOutputFileUri; 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutputFileUri); // URI of the file where pic will be stored 

startActivityForResult(intent, TAKE_PICTURE_FROM_CAMERA); 

그러면 onActivityResult에서 resultCode를 확인하고 mOutputFileUri에서 이미지를 가져옵니다.

또한 외부 미디어 존재 여부를 확인하고 HTC 장치의 카메라 응용 프로그램 동작과 관련된 문제를 처리하는 것이 좋습니다.

관련 문제