BLOG main image
분류 전체보기 (74)
Cocos2d (9)
낙서장 (4)
스토리지 (1)
안드로이드 (54)
유용한링크 (1)
모바일게임 (2)
추천앱 (1)
아이폰 (0)
맛집/여행 (1)
ナイトウェアメンズ
ナイトウェアメンズ
割烹着 オシャレ
割烹着 オシャレ
klicken Sie einfach auf die bi..
klicken Sie einfach auf die bi..
スポーツ
スポーツ
サンダル
サンダル
282,399 Visitors up to today!
Today 42 hit, Yesterday 39 hit
daisy rss
tistory 티스토리 가입하기!
2012.09.26 17:09
  

카메라 호출 한후 이미지를 저장했을때 이미지 intent uri  값이 제대로 오지 않을때가 있다. 해결법은 카메라에 이미지 저장경로를 지정해준 후 intent를 날린후 받아올때 그 경로에서 이미지를 찾아오면 잘된다.


-----------------------------------------------------------------------------------------

AlertDialog alert1=null;

Uri mImageCaptureUri=null;

Uri imgUri;

ImageView cImg;


private void selectJob(){

AlertDialog.Builder adialog = new AlertDialog.Builder(AddPhoneNumber.this);

adialog.setInverseBackgroundForced(true);

adialog.setMessage("작업을 선택하세요..!").setPositiveButton("촬영하기", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

alert1.dismiss();

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

   String url = "tmp_" + String.valueOf(System.currentTimeMillis()) + ".jpg";

   mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), url));

   intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);

   

   startActivityForResult(intent, 0);

}

}).setNeutralButton("파일선택" , new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

alert1.dismiss();

Intent intent = new Intent(Intent.ACTION_PICK);

intent.setType(android.provider.MediaStore.Images.Media.CONTENT_TYPE);

    startActivityForResult(intent, 1);  

}

}).setNegativeButton("취소", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

alert1.dismiss();

}

});

 alert1 = adialog.create();

 alert1.setTitle("작업선택");

 alert1.show();

}


 protected void onActivityResult(int requestCode, int resultCode, Intent data)

    {

    if(resultCode == RESULT_OK){

     if(requestCode==0)  {

        imgUri= mImageCaptureUri;

        Bitmap selPhoto=null;

try {

AssetFileDescriptor afd = getContentResolver().openAssetFileDescriptor(imgUri, "r");       

BitmapFactory.Options opt = new BitmapFactory.Options(); 

opt.inSampleSize = 4; 

selPhoto = BitmapFactory.decodeFileDescriptor(afd.getFileDescriptor(), null, opt);

// selPhoto = Images.Media.getBitmap( getContentResolver(), imgUri );

} catch (OutOfMemoryError e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

                Drawable drawable = new BitmapDrawable(getResources(), selPhoto);

                cImg.setBackgroundDrawable(drawable);

     }


     else  if(requestCode==1)  {

     if(data !=null){

     try {

     imgUri= data.getData();

                      Bitmap selPhoto = Images.Media.getBitmap( getContentResolver(), imgUri );

                      Drawable drawable = new BitmapDrawable(getResources(), selPhoto);

                      cImg.setBackgroundDrawable(drawable);

                } catch (Exception e) {

                       e.printStackTrace();

                } 

     }

 }

    }

    }

-----------------------------------------------------------------------------------------


http://theeye.pe.kr/entry/example-of-image-crop-with-camera-and-album-picker-on-android 참고했습니다.

    


안드 | 2013.01.17 10:44 신고 | PERMALINK | EDIT/DEL | REPLY
안됩니다
Name
Password
Homepage
Secret