그래서 http://developer.android.com/training/camera/photobasics.html의 코드를 사용하여 따르려고했지만 악명 높은 "null Intent"오류가 있었기 때문에 모든 것이 어떻게 작동하는지 이해하려고합니다. 몇 가지 질문이 있으므로 각 질문을 고유 한 SO 질문으로 나누겠습니다. 썸네일부터 시작하겠습니다.
이 방법으로 사진을 찍으면 :
static final int REQUEST_IMAGE_CAPTURE = 1;
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
}
}
그런 다음 내가 찍은 사진의 썸네일 / 비트 맵을 얻습니다. 내 파일 시스템 어딘가에 전체 형식으로 찍은 사진입니까, 아니면 카메라가 기본적으로 전체 사진을 찍었습니까 (사진 촬영 후 재시도 / 확인을 클릭 할 수있을 때 카메라 앱 자체에서 볼 수 있음). 썸네일의 비트 맵을 주거나 이상한 기본 위치에 전체 파일을 저장하고 썸네일 만 반환 했습니까?
그것은 카메라 앱 구현에 달려 있습니다.
수백 개의 사전 설치된 카메라 앱과 함께 배송되는 수천 개의 Android 기기 모델이 있습니다. Play 스토어 및 다른 곳에서 다운로드 할 수있는 다른 카메라 앱도 많이 있습니다. 이러한 앱은 ACTION_IMAGE_CAPTURE
계약 을 준수하기 만하면됩니다 (일부는 그렇게하지 못함). 해당 카메라 앱이 해당 계약을 이행하는 방법 은 해당 앱 개발자에게 달려 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다