Я занимаюсь фотографией с использованием камеры в фрагменте. На некоторых устройствах он работает отлично, но на некоторых устройствах мой фрагмент закрывается после съемки.Фрагмент закрывается после намерения камеры
Вот мой код вызывающего намерения камеры:
Intent picIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
getActivity().startActivityForResult(picIntent, Constants.TAKE_PICTURE_SIGN_UP);
Вот onActivityResult моего MainActivity в:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == Constants.TAKE_PICTURE_SIGN_UP || requestCode == Constants.SELECT_PICTURE_SIGN_UP)
{
SignUpFragment frag = (SignUpFragment)getSupportFragmentManager().findFragmentByTag(Constants.SignUpFragmentTag);
if(frag != null && frag.isVisible())
{
frag.onActivityResult(requestCode, resultCode, data);
}
}
}
Когда я выбираю фотографию из галереи она работает нормально, но когда я сфотографировать с фраг камеры нулевой. Что вызывает здесь проблему и как ее решить?
Вы используете ChildFragmentManager?Поскольку на некотором устройстве onActivityResult не работает правильно, если фрагмент является ChildFragment, а onActivityResult улавливается основным действием, закрывающим ваш фрагмент –
protected void onActivityResult (int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) { Растровое изображение = (растровое изображение) data.getExtras(). Get ("data"); imageView.setImageBitmap (фото); } } – impathuri
Я использую SupportFragmentManager. Поскольку фрагмент имеет 1 родительскую активность, то есть MainActivity. При выборе изображения из галереи я могу найти фрагмент фрагмента, но при съемке с камеры findFragmentByTag возвращает null. @DarioPicco –