Я работаю над кодом, написанным кем-то другим, и у меня возникают проблемы с обработкой результата намерения камеры.Камера onActivityResult на фрагменте
В основном у меня есть DashBoardActivity, которая содержит вкладку с фрагментом под названием «MyProfileContainer», который содержит фрагмент «SettingsFragment», который содержит фрагмент «EditProfileFragment».
В EditProfileFragment пользователь может сделать снимок для своего профиля. Он работает, но он вызывает onActionResult в Activity Dashboard.
Я прочитал некоторое руководство о том, как перенаправить его в EditProfileFragment, но я не смог это сделать. Я теряю буквально дни на этом, и я не могу понять это.
Это onActivityResult на Dashboard активность
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
И это EditProfileFragment
private Uri imageUri = null;
public void captureImage() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File photo = new File(Environment.getExternalStorageDirectory(), "Pic.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
getParentFragment().startActivityForResult(intent, 100);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 100 && resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageUri;
getActivity().getContentResolver().notifyChange(selectedImage, null);
ContentResolver cr = getActivity().getContentResolver();
Bitmap bitmap;
try {
bitmap = android.provider.MediaStore.Images.Media
.getBitmap(cr, selectedImage);
profilePhoto.setImageBitmap(bitmap);
Toast.makeText(getActivity(), selectedImage.toString(),
Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getActivity(), "Failed to load", Toast.LENGTH_SHORT)
.show();
Log.e("Camera", e.toString());
}
}
}
Я не знаю, если я должен переопределить метод на каждом классе между этими двумя или если I «Я делаю что-то еще неправильно, но я уверен, что EditProfileFragment onActivityResult никогда не вызывается.