Камера активности FirefoxOS

Я разрабатываю приложение для Firefox OS, которое должно загружать камеру при касании элемента.

У меня был поиск в Интернете, но я не мог найти способ сделать это, если только я не должен был начать «веб-активность» и позволить пользователю выбрать приложение для выбора.

Я хотел бы заставить приложение камеры запускаться и не позволять пользователю выбирать приложение для запуска. Есть ли способ? (Я очень на это надеюсь!)

Спасибо за ответ заранее!

Лоренцо


person LoreV    schedule 05.10.2013    source источник


Ответы (3)


Запуск камеры (приложения) и получение доступа к камере (аппаратному обеспечению) — это две разные вещи. В зависимости от ваших потребностей вам может понадобиться Camera API (как предложил Джек) для получения изображений/видео с аппаратного обеспечения камеры устройства, или вы может просто захотеть запустить встроенное приложение камеры, чтобы пользователь мог взаимодействовать с ним (без необходимости извлекать какой-либо результат, например фотографию, из этого взаимодействия).

К сожалению, оба варианта использования в настоящее время ограничены системой разрешений Firefox OS.

Для прямого аппаратного доступа к камере требуется разрешение уровня "Certified". , что предотвращает его использование в сторонних приложениях. Если вам нужна эта функция, ваш лучший шанс дождаться WebRTC (getUserMedia() API) устанавливается на устройства с ОС Firefox, что дает вам прямой доступ к оборудованию камеры и микрофона в сторонних приложениях (есть уже проводятся эксперименты с ранними сборками FxOS для Nightly, которые используют WebRTC API getUserMedia на реальных устройствах, так что вам не стоит задолго до того, как он станет доступен конечным пользователям). Следите за ошибкой 750011, чтобы следить за ходом внедрения.

Другим вариантом использования является запуск самого приложения встроенной камеры из вашего приложения. Для запуска установленного приложения на устройстве необходима ссылка на его App объект< /a>, вызов метода .launch() объекта App запускает выбранное приложение. Однако, к сожалению, в настоящее время единственным способом получения указанного объекта приложения является использование Apps.mgmt.getAll(), в котором перечислены все установленные приложения на вашем устройстве — просмотрев список, вы сможете выбрать приложение «Камера» и использовать его метод launch() для его запуска. Вы можете увидеть это в действии на Эксперимент домашнего экрана "Matchscreen" Кевина Грандона. К сожалению, система разрешений имеет последнее слово и в этом случае использования, поскольку вызовы объекта Apps.mgmt также требуют разрешения «Сертифицированного» уровня (разрешение webapps-manage). Это одна из основных причин, по которой сторонние домашние экраны (подобны экрану Matteo D' Ignazio) в настоящее время не может работать и запускать приложения. Тем не менее, существует продолжающееся обсуждение ослабления требований к этому, и есть продолжается работа в отношении домашних экранов сторонних производителей, поэтому (со временем) это также должно быть решено.

person Community    schedule 06.10.2013
comment
Спасибо за ответ. - person LoreV; 07.10.2013

Как видно на странице mdn, объясняющей разрешения приложения, API камеры недоступен. сторонним разработчикам, но есть планы на это в будущем.

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

person Milos    schedule 06.10.2013

Вы можете использовать webRTC (getUserMedia API) в FxOS для доступа к камере, как в современном настольном браузере через полгода. Это будет предпочтительный способ, а не устаревший API mozCamera (который не может использоваться сторонними разработчиками).

person gasolin    schedule 17.10.2013