Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Anastation3
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 28
#1

Возможно ли без открытия камеры на телефоне сделать фотографию? - Программирование Android

28.05.2017, 13:52. Просмотров 297. Ответов 11
Метки нет (Все метки)

Здравствуйте, делаю приложение что-то типа голосового помощника по частичному управлению телефоном. Возникла надобность по голосовой команде делать фотографии без открытия камеры на телефоне.
Подскажите, пожалуйста, возможно ли это? И если да, то буду благодарна, если расскажите как это можно сделать или подскажите литературу/ссылки в интернете.
Потому что перерыла кучу сайтов и ничего толкового не нашла по этому вопросу
Я новичок в Android-разработках, поэтому сложновато пока как-то самой придумать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2017, 13:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Возможно ли без открытия камеры на телефоне сделать фотографию? (Программирование Android):

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

Чат одновременно на телефоне и сайте. Возможно?
Возможно ли сделать приложение Чата на телефон, что бы чат одновременно...

Приложение вылетает без ошибок(на эмуляторе и на телефоне)
Добрый день! При запуске на эмуляторе или реальном телефоне приложение вылетает...

Как сделать поле заполняемое только скриптом открытия, но при этом без
Столкнулся с такой проблемой, есть поле, оно заполняется при открытии...

Возможно сделать лог съемного диска, без проверки системного?
Уважаемые Вирусоборцы. маленький вопрос к вам. Возможно ли с помощью AVZ...

Создание музыки на мобильном телефоне. Возможно ли такое?
Всем доброго времени суток. Я совершенно не программирую(программировал) на...

11
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,380
28.05.2017, 21:28 #2
Действительно очень сложно найти, даю наводку, класс Camera или Camera2. Только тссс, это из уст в уста передаётся только.
0
Anastation3
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 28
28.05.2017, 22:34  [ТС] #3
ExFau$t, я же, наверное, не просто так спросила
Я пробовала, у меня не получилось, поэтому и попросила о помощи тут
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,380
28.05.2017, 22:37 #4
Что не получилось, где код, лог ошибки?

Добавлено через 50 секунд
Я видел минимум 5 рабочих примеров на SO с камерой и даже со сканером кодов.
0
Anastation3
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 28
28.05.2017, 22:42  [ТС] #5
Делала по этому примеру http://devcolibri.com/2167, немного изменив
Если запускать на эмуляторе, то программа работает, но на телефоне - выбивается, и я не могу отследить ошибку
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,380
28.05.2017, 22:53 #6
Лог ошибки есть всегда, обычно во вкладке Android monitor красными буквами. Если телефон >= 23, то необходимо дополнительно разрешения на камеру запрашивать. На сохранения тоже.
0
Anastation3
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 28
28.05.2017, 22:56  [ТС] #7
ExFau$t, в том-то и дело, что и в манифесте указала, и отдельно проверяла и, если не было, запрашивала:
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, 2);
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,380
28.05.2017, 22:58 #8
Без лога ошибки можно гадать до второго пришествия.
0
Anastation3
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 28
28.05.2017, 23:07  [ТС] #9
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
05-28 23:01:15.433 18540-18540/com.example.anastasiya.photo I/art: Late-enabling -Xcheck:jni
05-28 23:01:15.468 18540-18540/com.example.anastasiya.photo D/TidaProvider: TidaProvider()
05-28 23:01:15.472 18540-18540/com.example.anastasiya.photo V/BoostFramework: mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[])
05-28 23:01:15.473 18540-18540/com.example.anastasiya.photo V/BoostFramework: mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease()
05-28 23:01:15.473 18540-18540/com.example.anastasiya.photo V/BoostFramework: mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[])
05-28 23:01:15.473 18540-18540/com.example.anastasiya.photo V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String)
05-28 23:01:15.473 18540-18540/com.example.anastasiya.photo V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop()
05-28 23:01:15.475 18540-18540/com.example.anastasiya.photo V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@22f4c20
05-28 23:01:15.562 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_dependencies_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.643 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_dependencies_apk.apk
05-28 23:01:15.672 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_0_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.673 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_0_apk.apk
05-28 23:01:15.701 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_1_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_1_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.702 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_1_apk.apk
05-28 23:01:15.735 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_2_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_2_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.738 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_2_apk.apk
05-28 23:01:15.766 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_3_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_3_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.767 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_3_apk.apk
05-28 23:01:15.796 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_4_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_4_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.797 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_4_apk.apk
05-28 23:01:15.826 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_5_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_5_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.830 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_5_apk.apk
05-28 23:01:15.859 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_6_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_6_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.860 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_6_apk.apk
05-28 23:01:15.889 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_7_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_7_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.890 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_7_apk.apk
05-28 23:01:15.919 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_8_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_8_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.920 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_8_apk.apk
05-28 23:01:15.950 18540-18540/com.example.anastasiya.photo W/art: Failed execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction-set-variant=kryo --instruction-set-features=default --dex-file=/data/app/com.example.anastasiya.photo-1/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/arm64/data@app@com.example.anastasiya.photo-1@split_lib_slice_9_apk.apk@classes.dex) because non-0 exit status
05-28 23:01:15.951 18540-18540/com.example.anastasiya.photo W/art: Fallback to original dex file with interpret-mode for /data/app/com.example.anastasiya.photo-1/split_lib_slice_9_apk.apk
05-28 23:01:15.952 18540-18540/com.example.anastasiya.photo W/System: ClassLoader referenced unknown path: /data/app/com.example.anastasiya.photo-1/lib/arm64
05-28 23:01:15.958 18540-18540/com.example.anastasiya.photo I/InstantRun: starting instant run server: is main process
05-28 23:01:16.042 18540-18620/com.example.anastasiya.photo D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
05-28 23:01:16.048 18540-18540/com.example.anastasiya.photo D/ActivityThreadInjector: clearCachedDrawables.
05-28 23:01:16.093 18540-18620/com.example.anastasiya.photo I/Adreno: QUALCOMM build                   : 0a3bdfc, Ifb508eebcd
                                                                                          Build Date                       : 08/04/16
                                                                                          OpenGL ES Shader Compiler Version: XE031.09.00.03
                                                                                          Local Branch                     : 
                                                                                          Remote Branch                    : 
                                                                                          Remote Branch                    : 
                                                                                          Reconstruct Branch               : 
05-28 23:01:16.096 18540-18620/com.example.anastasiya.photo I/OpenGLRenderer: Initialized EGL, version 1.4
05-28 23:01:18.124 18540-18540/com.example.anastasiya.photo V/BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@dc9245f
05-28 23:01:18.223 18540-18540/com.example.anastasiya.photo I/Timeline: Timeline: Activity_launch_request time:92643315
05-28 23:01:18.232 18540-18540/com.example.anastasiya.photo W/Activity: Can reqeust only one set of permissions at a time
05-28 23:01:18.242 18540-18540/com.example.anastasiya.photo D/Photo: Камера найденна.
05-28 23:01:18.242 18540-18540/com.example.anastasiya.photo W/CameraBase: An error occurred while connecting to camera: 0
05-28 23:01:18.339 18540-18620/com.example.anastasiya.photo V/RenderScript: 0x7f7035e000 Launching thread(s), CPUs 4
05-28 23:01:23.405 18540-18540/com.example.anastasiya.photo I/Timeline: Timeline: Activity_launch_request time:92648497
05-28 23:01:23.421 18540-18540/com.example.anastasiya.photo D/Photo: Камера найденна.
05-28 23:01:23.920 18540-18540/com.example.anastasiya.photo I/Choreographer: Skipped 30 frames!  The application may be doing too much work on its main thread.
05-28 23:01:28.117 18540-18540/com.example.anastasiya.photo D/Photo: Камера найденна.
05-28 23:01:29.867 18540-18540/com.example.anastasiya.photo D/Photo: Камера найденна.
05-28 23:01:30.128 18540-18540/com.example.anastasiya.photo E/Camera: Error 2
05-28 23:01:37.031 18540-18540/com.example.anastasiya.photo D/Photo: Камера найденна.
05-28 23:01:37.292 18540-18540/com.example.anastasiya.photo E/Camera: Error 2
а ошибка собственно - java.lang.RuntimeExeption: takePicture failed
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,380
29.05.2017, 09:35 #10
После наименования ошибки парой строк ниже значится cause - тоже интересно знать. Перед фотографированием надо проверить в настройках приложения, что разрешения оба действительно включены. Ещё некоторые мобилы не переваривают автофокус.
0
Anastation3
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 28
29.05.2017, 21:09  [ТС] #11
ExFau$t, я проверила на всякий случай разрешения в настрой - они включены...
Ещё некоторые мобилы не переваривают автофокус.
т.е., если это именно мой случай, значит, я никак не решу эту проблему?
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,380
29.05.2017, 22:11 #12
Т.е. если используешь автофокус, имеет смысл его закомментировать и проверить.
Можно ещё попробовать инициализировать камеру так:
Java
1
Camera camera = CameraUtils.getCameraInstance(cameraId);
Больше смогу сказать при полном логе ошибки и кодом.
0
29.05.2017, 22:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2017, 22:11
Привет! Вот еще темы с решениями:

Возможно сделать типа виджета прогу для винды без Qt и т.п. просто на WinAPI?
появилась идея написать прогу для всех винд кроме 8+ чтобы у них как начиная с...

Как сделать миниатюрную фотографию на сайт?
Как сделать так что б напер берем какую нибудь фотографию, загружаем на сайт и...

Возможно ли сделать, чтобы бета-версия catalyst-utils-pxp работала без ошибок?
Очень странное поведение последнего каталист-утилит. Они хоть и последние...

возможно ли зафиксировать высоту одного блока, а для 2го сделать всю оставшуюся без position?
сделал так, но position очень не хочется использовать: <!DOCTYPE html> <html>...


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

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

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