Cordova:如何在不使用相机应用程序的情况下拍照

Posted

技术标签:

【中文标题】Cordova:如何在不使用相机应用程序的情况下拍照【英文标题】:Cordova: how to take a picture without using camera app 【发布时间】:2015-04-02 11:23:44 【问题描述】:

我正在使用 Apache Cordova 开发 android 应用程序。我想在不打开相机应用程序的情况下拍照。 我希望通过单击我的应用程序中的按钮来进行相机拍摄,并将照片保存到特定的目的地,而无需与照相手机应用程序进行交互。

这里是我用来调用 getPicture 的简单 js(它产生对相机应用程序的异步调用):

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

【问题讨论】:

【参考方案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 目录下找到您的图片。我还使用了文件传输插件,以便通过互联网直接将图片上传到我的服务器上。

【讨论】:

我猜这不适用于 Android 7.. 是否可以替代 Android 7?

以上是关于Cordova:如何在不使用相机应用程序的情况下拍照的主要内容,如果未能解决你的问题,请参考以下文章

如何在不停止相机馈送的情况下使用闪光灯?

如何在不更新应用程序的情况下重新加载 Cordova 应用程序的 UI

如何使用 Cordova 相机插件拍摄多张照片

如何在不破坏相机应用程序的情况下在Android手机上打开手电筒[重复]

在不了解 TypeScript 的情况下使用 cordova-plugin-playlist

如何在不使用内部相机裁剪的情况下裁剪图像