에 SD 카드에 촬영 한 사진의 이름을 변경 전, 아래의 링크에서 코드를 사용하여 매우 helpfull했다했습니다, 감사합니다 : http://www.tutorialforandroid.com/2010/10/take-picture-in-android-with.html저장/안드로이드
일부 사진 문제로 도움이 필요합니다! takePhoto는() MediaStore.ACTION_IMAGE_CAPTURE, 대해서 getFile()는 내가 이미지 뷰로 촬영 한 사진을 보여주고 싶습니다 그리고 난 좋겠) "이미지 골키퍼"디렉토리를 만든 다음 "이미지-SOMENUMBER.jpg"이름으로 사진을 촬영 저장합니다! onActivityResult를 (에서 시작 edittext 또는 무언가에있는 무언가 사용자 입력에 그림의 이름을 바꾸는 것을 좋아하십시오!
두 가지 질문이 있습니다
1) 왜 내가 이미지 뷰가 시도 {} 부분에있는 내 사진을 보여 얻을 수 없다? 내가 도대체 뭘 잘못하고있는 겁니까? 저장된 이미지의 경로는 어떻게 얻을 수 있습니까?
2) 내가 사진에게 그들이 원하는 방식으로? (같은 이름을 사용자가 설정할 수있는 방법 또는 일부 버튼의 이름을 변경하는 요법을 클릭합니다.)
어떤 생각을 환영합니다! 감사가 "다른 이름으로 저장"입니다!
private static final int TAKE_PHOTO_CODE = 1;
private void takePhoto(){
final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(getFile(this)));
startActivityForResult(intent, TAKE_PHOTO_CODE);
}
private File getFile(Context context){
final File path = new File(Environment.getExternalStorageDirectory(), "Image keeper");
if(!path.exists()){
path.mkdir();
}
String name;
int n = 100000;
int rand;
rand = new Random().nextInt(n);
name = "Image-" + rand + ".jpg";
File file = new File(path,name);
return file;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch(requestCode){
case TAKE_PHOTO_CODE:
final File file = getFile(this);
try {
Bitmap captureBmp;
captureBmp = Media.getBitmap(getContentResolver(), Uri.fromFile(file));
iv = (ImageView) findViewById(R.id.imageView1);
iv.setImageBitmap(captureBmp);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
break;
}
}
}