я использую RxImagePicker снимать фотографии в моем портретном только-форсированном приложении:RxImagePicker не вызывая завершение, если ориентация изменяется при съемке изображений
RxImagePicker.with(getActivity()).requestImage(Sources.CAMERA).subscribe(new Action1<Uri>() {
@Override
public void call(Uri uri) {
RxImageConverters.uriToBitmap(getActivity(), uri).subscribe(new Action1<Bitmap>() {
@Override
public void call(final Bitmap bitmap) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
//i take over here if we ever get here...
}
});
}
});
}
});
Если взять картину без вращения устройства, оно работает (хотя изображение повернуто, но это еще одна проблема). Однако, если я делаю снимок в альбомной ориентации, uriToBitmap
никогда не вызывается. Это не моя работа или фрагмент, которые перезапускаются, так как все состояние сохраняется в моем приложении.
Что я делаю неправильно?
В отличие от 'runonUithread' вместо' watchon (AndroidSchedulers.mainThread() ', похоже, что вы ничего не делаете неправильно. RxImagePicker не может выдержать уничтожение и воссоздание активности хоста (что происходит на вращение). – JohnWowUs