Extra_output игнорируется на ERIS, вызывает данные для возврата NULL на G1
-
28-09-2019 - |
Вопрос
Поэтому я пытаюсь запустить активность камеры, используя следующий код:
//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 / ...» на самом деле существует или нет. Также вы могли бы упростить ваш процесс, передавая путь к следующей активности.
Удачи,
Джейми Ирвин