Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 186
Записей в блоге: 1
1

Как сохранить фото с камеры напрямую во внутреннюю директорию приложения?

28.04.2017, 18:41. Просмотров 354. Ответов 1

Стартую Intent камеры, добавляю Extra с Uri файла, куда надо сохранить снимок:

Java
1
2
3
4
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        Uri uriFotoFile = Uri.fromFile(getInternalFotoPath());
        intent.putExtra(MediaStore.EXTRA_OUTPUT,uriFotoFile);
        startActivityForResult(intent,REQUEST_TAKE_PHOTO);
Методом getInternalFotoPath() формирую файл куда надо записать результат:
Java
1
2
3
4
5
private File getInternalFotoPath(){
        File internalFilesDir = getFilesDir();
        File file = new File(internalFilesDir,"test_foto.jpg");
        return file;
    }
В onActivityResult смотрю что там вообще есть, во внутренней деректории приложения:
Java
1
2
3
4
5
6
7
8
9
10
11
12
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode){
            case REQUEST_TAKE_PHOTO:
                toLog("Получили фото. Содержимое внутренней директории приложения");
                for (File file : getFilesDir().listFiles()) {
                 toLog(file.getName());
                }
                break;
        }
    }
И всё, зависаю на камере. Т.е. камера стартует, делаю снимок и далее по нажатию "Ок" так и остаюсь висеть в камере. Могу вернуться назад и всё.

Если заменить Uri файла на сам файл, т.е. добавлять Extras так:
Java
1
intent.putExtra(MediaStore.EXTRA_OUTPUT,getInternalFotoPath());
Никакой ошибки не происходит, из фото нормально выхожу, но файла во внутренней директории нет.

Могу получить снимок в External Storage и потом уже перекинуть файл в Internal. Но это кажется таким велосипедом. Если Intent на получения фотографии может легко писать в getExternalFilesDir(Environment.DIRECTORY_PICTURES) (в ту часть, куда так же не нужны права в манифесте
XML
1
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
то и сразу в Internal наверное как-то же можно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2017, 18:41
Ответы с готовыми решениями:

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

Некорректный размер фото с камеры
доброго времени всем. возникла у меня проблемка, делаю я фото с камеры но оно...

Работа с сервером напрямую с приложения
Добрый вечер. Посоветуйте да библиотеку для работы между базой (MYSQL) и...

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

Как сохранить данные своего приложения через аккаунт Google?
Моему приложению нужно сохранять данные своего пользователя в Интернете, мои...

1
vxg
Модератор
3252 / 2052 / 323
Регистрация: 13.01.2012
Сообщений: 7,949
28.04.2017, 19:29 2
arvalon, в интернал камера не может писать - сам пробовал это провернуть и где-то читал что не может - где к сожалению не запомнил
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2017, 19:29

Подскажите, как получить фото с камеры и сохранить её?
Здравствуйте! Пытаюсь получить фото с камеры телефона и сохранить её на карту...

Сохранить фото из bitmap в формате jpg на sdcard или внутреннюю память телефона Андроид
Здравствуйте! Может кто сталкивался с таким вопросом. Есть TImage в него с...

Сохранить файл в директорию приложения
Скажите как прописывается путь Нужно сохранить файл в туже папку где и файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru