나는 세 개의 탭이있는 FragmentPagerAdapter
을 사용하고 있습니다. 각 탭에 여러 개의 fragments
이 있습니다. 조각 중 하나에 갤러리 나 카메라에서 사진을 가져 오기를 요청합니다. 부모가 의 onActivityResult()
이라는 문제는 Fragment
이 아닌 탭을 호스팅하는 문제입니다. 감사합니다. 여기안드로이드는 조각을 사용하여 카메라 또는 갤러리에서 사진을 가져옵니다
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case MEDIA_TYPE_IMAGE_FROM_GALLERY:
if (resultCode == RESULT_OK) {
Uri selectedImage = data.getData();
String realPath = getImageRealPath(selectedImage);
realPaths.add(realPath);
Glide.with(mActivity)
.load(realPath)
.into(profile_imv);
}
break;
case MEDIA_TYPE_IMAGE_BY_CAMERA:
if (resultCode == RESULT_OK) {
Uri selectedImage = data.getData();
String realPath = getImageRealPath(selectedImage);
realPaths.add(realPath);
Glide.with(mActivity)
.load(realPath)
.into(profile_imv);
}
break;
}
}
내가 모두 갤러리와 카메라의 의도를 호출하는 방법을
public void choosePhotoFromGallary() {
Intent galleryIntent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(galleryIntent, MEDIA_TYPE_IMAGE_FROM_GALLERY);
}
private void takePhotoFromCamera() {
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
if (intent.resolveActivity(mActivity.getPackageManager()) != null) {
startActivityForResult(intent, MEDIA_TYPE_IMAGE_BY_CAMERA);
}
}
이 인 MainACtivity
onActivityResult()
코드
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Fragment fragment = getSupportFragmentManager().findFragmentByTag("USER_DETAILS");
if (fragment != null) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}
갤러리에 게시하기 intent code – gStephin