2016-02-19 2 views
-3

Я разрабатываю приложение, которое состоит из 4 видов деятельности. В действии 2 и 3 пользователь имеет возможность сделать снимок. Я передаю изображение, сделанное в действии 2, в действие 3 с помощью намерения, но моя проблема начинается, когда пользователь делает снимок в действии 3, потому что я не знаю, как передать 2 изображения, сделанные в действие 4, которые сохраняют фотографии на сервер.Как передать изображения между двумя дополнительными действиями

Передача изображения принимаются в деятельности 2

intent.putExtra("image", bitmap); 

Получение изображения в активности 3 из деятельности 2

Uri fileUri=getIntent().getData(); 
ArrayList<Uri> mBitmaps = new ArrayList<>(2); 
mBitmaps.add(fileUri); 
mBitmaps.add(fileUriDanos); 

передача массива изображений для деятельности 4:

intent.putParcelableArrayListExtra("imagenes",mBitmaps); 

получающего массив в действии 4 (приложение аварийно завершает работу здесь, только если один из элементов массива равен нулю, а не снимок, сделанный в одном от предыдущей деятельности) intent.getParcelableArrayListExtra("imagenes");

Intent intent = getIntent(); 

ArrayList<Uri> images = intent.getParcelableArrayListExtra("imagenes"); 

ответ

0

ОК, так как там не любой LogCat для аварии отображается и глядя на ваш код я думаю, причина, почему ваше приложение может быть сбой «FAILED BINDER TRANSACTION». Проверка this для получения дополнительной информации

Намерение имеет возможность передачи 1 МБ связки.

Попробуйте сохранять изображения во внутренней файловой системе для каждого вида деятельности и просто проходя путь к файлу в намерении к следующей деятельности и, наконец, получение всех изображений в деятельности 4.

Это позволит избежать грохнуть приложения как это работал для меня.

+0

Отлично! спасибо за Ваш ответ. –

Смежные вопросы