Сделайте снимок и назовите его потом - PullRequest
0 голосов
/ 27 мая 2018

Я хочу сделать снимок с помощью стандартной системной службы

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);

и ПОСЛЕ ТОГО, КАК я хочу дать ему свое имя и каталог или путь (что должно произойти в другом действии после того, как я предпринялфотография с активностью камеры)

Проблема в том, что если я создаю файл со всеми атрибутами (имя, путь) и даю его намерению, я не могу сделать это в действии после того, как я сделал фотографию вместо этого, янужно будет определить его атрибуты, прежде чем я открою Намерение (сделайте фотографию).(как предложено в статье Google: https://developer.android.com/training/camera/photobasics#TaskPath)

Должен ли я просто получить полноразмерное растровое изображение, затем открыть другое действие, а затем сохранить его и определить его атрибуты?

Есть ли способ сделатькак предложено в статье, но как-то наоборот? (потом создайте файл)

Дайте мне знать, если у вас есть какие-либо идеи.

Я прошу любую помощь. Спасибо!

1 Ответ

0 голосов
/ 27 мая 2018

Я хочу сделать снимок с помощью стандартной системной службы

Ваш код запускает любое из сотен возможных приложений камеры.Возможно, конкретное приложение было предварительно установлено производителем устройства, или это может быть приложение, установленное пользователем.

Проблема заключается в том, что если я создаю файл со всеми атрибутами (имя,путь) и дать ему намерение, я не могу сделать это в упражнении после того, как я сделал фотографию, вместо этого мне нужно будет определить ее атрибуты, прежде чем я открою Намерение (сделайте фотографию).

Исправить.

Должен ли я просто получить полноразмерное растровое изображение, затем открыть другое действие, а затем сохранить его и определить его атрибуты?

Нет способа заставить ACTION_IMAGE_CAPTURE дать вам"полноразмерное растровое изображение" напрямую.Вы можете получить миниатюру размера Bitmap или написать полноразмерную фотографию в любое место по вашему выбору.

Есть ли способ сделать это какпредлагается в статье, но как-то наоборот? (потом создайте файл)

Нет.Однако ничто не мешает вам открыть фотографию через ее файл в вашей деятельности, затем изменить ее и выписать обратно.Вы можете перезаписать исходный файл или написать в каком-то новом месте.

Так, например, если вас беспокоит то, что вы не хотите, чтобы фотография находилась в доступном для пользователя месте, пока ваша активность не станетПосле этого вы можете передать Uri в ACTION_IMAGE_CAPTURE, который указывает на приватное местоположение в getCacheDir(), а затем записать окончательную версию фотографии в файл на внешнем хранилище 1033 *.

...