Кордова: как сделать снимок без использования приложения камеры

Я работаю над приложением для Android с Apache Cordova. Я хочу сделать снимок, не открывая приложение камеры. Я бы хотел, чтобы камера снимала, нажимая кнопку в моем приложении, и сохраняя изображение в определенном месте без взаимодействия с приложением камеры телефона.

Вот простой js, который я использую для вызова getPicture (он производит асинхронный вызов приложения камеры):

function capturePhoto() {
  navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
  destinationType: destinationType.DATA_URL });
}

person ciz974    schedule 03.02.2015    source источник


Ответы (1)


Решено с помощью плагина CameraPictureBackground:

function success(imgurl) {
  console.log("Imgurl = " + imgurl);
  //here I added my function to upload the saved pictures
  //on my internet server using file-tranfer plugin
}

function onFail(message) {
    alert('Failed because: ' + message);
}

function CaptureBCK() {
    var options = {
    name: "Image", //image suffix
    dirName: "CameraPictureBackground", //foldername
    orientation: "portrait", //or landscape
    type: "back" //or front
    };

    window.plugins.CameraPictureBackground.takePicture(success, onFail, options);
}


    <button onclick="CaptureBCK();">Capture Photo</button> <br>

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

person ciz974    schedule 12.02.2015
comment
Я предполагаю, что это не для Android 7. Любая замена для Android 7? - person Veer Shrivastav; 29.04.2019