Extra_output игнорируется на ERIS, вызывает данные для возврата NULL на G1

StackOverflow https://stackoverflow.com/questions/4273809

Вопрос

Поэтому я пытаюсь запустить активность камеры, используя следующий код:

//In public void captureImage()
...
Intent cameraIntent = new Intent(MediaStore.ACTION_CAPTURE_IMAGE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
                      Uri.fromFile(new File("/sdcard/image.jpg")));
startActivityForResult(cameraIntent, REQUEST_CAMERA);

А затем для обработки результата:

//In onActivityResult()
...
case REQUEST_CAMERA:
  Intent intent = new Intent (CurrentScreen.this, NextScreen.this);
  intent.putExtra(data);
  startActivity(intent);
  CurrentScreen.this.finish();
...

Где я использую intent.putExtra(data) Чтобы прикрепить небольшое растровое изображение к намерению и использовать его как миниатюру в следующем действии, и файл полного размера предположительно сохраняется как /sdcard/image.jpg.

Это ожидаемое поведение (согласно документации), иметь небольшое растровое изображение для миниатюры, а большой файл сохранен. Однако при тестировании этого на G1 и эрисе я видел некоторое странное поведение.

На G1:

  • Хотя этот результат показывает результат_ok, данные о намерениях, которые возвращаются в обработчик результата, является NULL.
  • Также Extra_Output, кажется, полностью игнорируется, я понятия не имею, где он сохраняет изображение.

На Эрисе:

  • Расчетные данные возвращаются в порядке
  • Extra_Output также игнорируется, но он сохраняет изображения в обычный медиа-магазин в /sdcard/dcim/100media

Итак, мой вопрос в том, что есть ли способ получить последовательное поведение для того, что я пытаюсь сделать, используя стандартную активность камеры? Я мог бы записать настраиваемую деятельность, чтобы попытаться понять, как я хочу, но я предпочел избежать этого маршрута.

Это было полезно?

Решение

У меня нет ответов на ваш вопрос, так как я новичок в мире разработки Java / Android. Но я пытаюсь что-то похожее на то, что вы делаете, за исключением того, что я хочу просто сделать изображение, а затем прикрепите его к электронной почте.

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

Но то, что я действительно собирался сказать, возможно, вам придется тестировать, если Pat «/ SDCard / ...» на самом деле существует или нет. Также вы могли бы упростить ваш процесс, передавая путь к следующей активности.

Удачи,

Джейми Ирвин

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top