2014-01-13 7 views
1

여러분.카메라 폴더에서 이미지 가져 오기

여기에 이상한 문제가 있습니다. 버튼 클릭으로 갤러리 또는 카메라에서 이미지를 선택할 수있는 응용 프로그램이 있습니다. 모든 것이 카메라 폴더에서 임의의 그림을 선택할 때를 제외하고는 모두 잘 돌아갔다. 내 코드 결과에 대한

case R.id.camera: 

     AlertDialog.Builder builder = new AlertDialog.Builder(Splash.this); 

     builder.setTitle("Choose Image Source"); 
     builder.setItems(new CharSequence[] { "Gallery", "Camera" }, 
       new DialogInterface.OnClickListener() { 

        public void onClick(DialogInterface dialog, int which) { 
         switch (which) { 
         case 0: 

          Intent intent = new Intent(
            Intent.ACTION_GET_CONTENT); 
          intent.setType("image/*"); 

          Intent chooser = Intent.createChooser(intent, 
            "Choose a Picture"); 
          startActivityForResult(chooser, 
            ACTION_REQUEST_GALLERY); 

          break; 

         case 1: 

          Intent cameraIntent = new Intent(
            android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
          String mImageCaptureUri = null; 
          cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, 
            mImageCaptureUri); 
          startActivityForResult(cameraIntent, 
            ACTION_REQUEST_CAMERA); 

          break; 

         } 
        } 
       }); 

     builder.show(); 

     break; 

활동 이하 :

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 

     switch (requestCode) { 
     case ACTION_REQUEST_GALLERY: 


      Uri selectedImageUri; 

      selectedImageUri = data == null ? null : data.getData(); 

      cap.setImageURI(selectedImageUri); 



      break; 

     case ACTION_REQUEST_CAMERA: 

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

      cap.setImageBitmap(photo); 

      // CALL THIS METHOD TO GET THE URI FROM THE BITMAP 
      Uri tempUri = getImageUri(getApplicationContext(), photo); 

      // CALL THIS METHOD TO GET THE ACTUAL PATH 
      File finalFile = new File(getRealPathFromURI(tempUri)); 

      Toast.makeText(getApplicationContext(), 
        finalFile.getAbsolutePath(), 4000).show(); 

      break; 
     } 

    } 
} 
+1

오류의 세부 정보를 logcat 게시하십시오. – NigelK

+0

불행히도 에뮬레이터에서 선택할 그림이 없기 때문에 불행히도 테스트 할 때 내 전화를 사용합니다. –

+0

카메라 폴더 사진으로 만 충돌이 발생하며 내 갤러리에 내 Facebook 앨범이있어 정상적으로 작동합니다. –

답변

0

로그 캣없이 말할 어렵지만, 가장 가능성이 높은 이유는 큰 이미지의 크기, 카메라로 촬영 한 사진 크기 조정없이 보여 큰에 있으며, 이것이 카메라 이미지가 작동하지 않는 동안 시도한 일부 이미지가 작동하는 이유입니다. google : larg 비트 맵 구글 개발자 스케일링 및 공식 게시물을 찾을 것입니다

+0

감사합니다. 문제가 있음을 알았습니다. 나는 그것을 볼 수 있고 작동하기 전에 카메라 폴더에서 선택한 이미지를 축소했습니다! 감사. –

관련 문제