gallery = (Button) findViewById(R.id.Gallery);
gallery.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent pickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
pickerIntent.setType(android.provider.MediaStore.Images.Media.CONTENT_TYPE);
pickerIntent.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickerIntent, REQ_PICK_CODE);
}
});
먼저 갤러리 부터 열고
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == REQ_PICK_CODE) {
ImageView im = (ImageView) findViewById(R.id.image);
try {
Bitmap bm = Images.Media.getBitmap(getContentResolver(), data.getData());
im.setImageBitmap(bm);
Uri uri = data.getData();
//경로 구하기
getPath(uri);
Log.i("갤러리이미지 선택 LastPathSegment : ", data.getData().getLastPathSegment());
this.data.setImg(bm);
this.data.setImgName(data.getData().getLastPathSegment());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
super.onActivityResult(requestCode, resultCode, data);
};
선택한값에 대해서 getpath로 구해주는데
private String getPath(Uri uri)
{
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
getpath 소스 입니다
지금 제가 선택해서 구할 경로는
/storage/emulated/0/DCIM/100_CFV5/eurotext.png
이겁니다 갤러리들어가서 이미지 선택하면 이놈이 나와야되는데 안되네요
저경로는 직접갤러리들어가서 세부정보로 파일경로를 본겁니다.
아게 값이없어요..