Запуск камеры (приложения) и получение доступа к камере (аппаратное обеспечение) - это две разные вещи - в зависимости от ваших потребностей вам может понадобиться API-интерфейс камеры (как предложил Джек), чтобы вытащить изображения/видео с устройство камеры устройства, или вы можете просто захотеть запустить встроенное приложение для камеры, чтобы пользователь мог взаимодействовать с ним (без необходимости извлекать из этого взаимодействия любой результат, например фотографию).
К сожалению, оба варианта использования в настоящее время ограничены системой разрешений Firefox OS.
Прямой доступ к аппаратной части камеры требует разрешения уровня "Certified", что предотвращает его использование в сторонних приложениях. Если вам нужна эта функция, your best chance должен подождать, пока WebRTC (the getUserMedia()
API) не приземлится на устройствах Firefox OS, что даст вам прямой доступ к аппаратам камеры и микрофона в сторонних приложениях (есть already some experiments on early Nightly builds of FxOS, которые используют API-интерфейс getUserMedia WebRTC на реальных устройствах, поэтому вам это не займет много времени, прежде чем он станет доступен конечным пользователям). Следите за ходом выполнения работ bug 750011.
Другой вариант использования - это запуск встроенной камеры приложение из вашего приложения. Чтобы запустить установленное приложение на устройстве, вам нужна ссылка на его App
object, при вызове метода объекта .launch()
объекта запускает выбранное приложение. К сожалению, в настоящее время единственным способом приобретения упомянутого объекта приложения, по-видимому, является вызов функции Apps.mgmt.getAll()
, в котором перечислены все установленные приложения на вашем устройстве - сканирование списка, в котором вы могли бы выбрать приложение «Камера», и использовать его метод launch()
для запустите его. Вы могли бы see this in action в Kevin Grandon's "Matchscreen" homescreen-experiment. К сожалению, система разрешений имеет и последнее слово в этом случае использования, так как объект Apps.mgmt
вызывает вызовы, также требующие разрешения «Сертифицированный» уровень (разрешение webapps-manage
). Это одна из основных причин, по которым сторонние домашние экраны (like the one by Matteo D'Ignazio) не могут функционировать и фактически запускать приложения в настоящее время. Существует ongoing discussion на ослабление требований к этому, однако, и есть работа, продолжающаяся в отношении сторонних домашних экранов, поэтому (со временем) это также должно быть разрешено.
Благодарим за ответ. – LoreV