필드 정의부터
private final int SELECT_IMAGE = 1;
private final int SELECT_MOVIE = 2;
이미지 동영상 선택메소드를 각각 만들어중
private void doSelectImage() {
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivityForResult(i, SELECT_IMAGE);
} catch (android.content.ActivityNotFoundException e) {
e.printStackTrace();
}
}
private void doSelectMovie() {
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("video/*");
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivityForResult(i, SELECT_MOVIE);
} catch (android.content.ActivityNotFoundException e) {
e.printStackTrace();
}
}
선택된 이미지 동영상에대한 정보 출력
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_IMAGE) {
Uri uri = intent.getData();
String path = getPath(uri);
String name = getName(uri);
String uriId = getUriId(uri);
Log.e("###",
"실제경로 : " + path + "\n파일명 : " + name + "\nuri : " + uri.toString() + "\nuri id : " + uriId);
} else if (requestCode == SELECT_MOVIE) {
Uri uri = intent.getData();
String path = getPath(uri);
String name = getName(uri);
String uriId = getUriId(uri);
Log.e("###",
"실제경로 : " + path + "\n파일명 : " + name + "\nuri : " + uri.toString() + "\nuri id : " + uriId);
}
}
}
// 실제 경로 찾기
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);
}
// 파일명 찾기
private String getName(Uri uri) {
String[] projection = { MediaStore.Images.ImageColumns.DISPLAY_NAME };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.ImageColumns.DISPLAY_NAME);
cursor.moveToFirst();
return cursor.getString(column_index);
}
// uri 아이디 찾기
private String getUriId(Uri uri) {
String[] projection = { MediaStore.Images.ImageColumns._ID };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.ImageColumns._ID);
cursor.moveToFirst();
return cursor.getString(column_index);
}
'안드로이드' 카테고리의 다른 글
안드로이드 비트맵 <-> 바이트배열 (0) | 2015.10.29 |
---|---|
안드로이드 갤러리 열기 (0) | 2015.10.29 |
안드로이드 액티비티 인텐트값 전달 후 리턴값 받기 (0) | 2015.10.29 |
안드로이드 서비스 (0) | 2015.10.28 |
안드로이드 현재실행중인 액티비티 구하기 (0) | 2015.10.27 |