【问题标题】:"Camera cancelled" error in phonegap androidphonegap android中的“相机取消”错误
【发布时间】:2014-12-08 09:37:41
【问题描述】:

我正在尝试使用相机拍照并将图像的路径存储在数据库中。我已经编写了使用相机拍照的代码。相机打开,然后在相机取消时显示错误消息。 这是我的 js 代码:

.controller('cameractrl', function($scope, Myfactory,$window,$cordovaSQLite) 
         {
   alert("cameractrl");
   $scope.capturePhoto=function() 
   {                                                          
        navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
        sourceType :Camera.PictureSourceType.CAMERA,
        destinationType: Camera.DestinationType.FILE_URI, });
  }

     function onPhotoDataSuccess(imageURI) {
        alert("got image file entry: " + fileEntry.fullPath);

  }

并且我在 AndroidManifest 中添加了以下权限:

 <uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

在 config.xml 中我添加了这个:

  <plugin name="Camera" value="org.apache.cordova.CameraLauncher" />

但是相机仍然在打开吗?然后它关闭并显示“相机已取消”警报。 有什么解决办法???

这是我的 config.xml

  <?xml version='1.0' encoding='utf-8'?>
  <widget id="com.ionicframework.starter" version="0.0.1"       xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<preference name="loglevel" value="DEBUG" />
<feature name="Keyboard">
    <param name="android-package" value="com.ionic.keyboard.IonicKeyboard" />
    <param name="onload" value="true" />
</feature>
<feature name="AdMob">
    <param name="android-package" value="com.rjfun.cordova.plugin.AdMob" />
</feature>
<feature name="Device">
    <param name="android-package" value="org.apache.cordova.device.Device" />
</feature>
<feature name="Camera">
    <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>
<feature name="SQLitePlugin">
    <param name="android-package" value="org.pgsqlite.SQLitePlugin" />
</feature>
<feature name="File">
    <param name="android-package" value="org.apache.cordova.file.FileUtils" />
    <param name="onload" value="true" />
</feature>
<feature name="FileTransfer">
    <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
</feature>
<feature name="Media">
    <param name="android-package" value="org.apache.cordova.media.AudioHandler" />
</feature>
<name>HelloCordova</name>
<description>
    An Ionic Framework and Cordova project.
</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">
  Ionic Framework Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="BackupWebStorage" value="none" />
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external" />
<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />

【问题讨论】:

  • 尝试运行cordova插件,你看到了什么?
  • 是的,我尝试了 cordova 插件,但相机也无法打开
  • 你看到我的朋友,请在这里说明。
  • 我看到了一个带有按钮捕获照片的页面。当我点击它时,什么也没有发生。我在 android 模拟器上运行它。
  • 您正在使用哪个Phonegap 版本,您是否在代码中添加了CameraLauncher.java ?

标签: android cordova camera


【解决方案1】:

这个问题很老了,但是我今天从这个问题中搜索到这里。其他有同样问题的用户,添加config.xml:

<preference name="AndroidLaunchMode" value="standard"/>

From this question.

【讨论】:

    【解决方案2】:

    伙计,您缺少设置:encodingTypemediaType

    查看我的示例:

    var cameraOptions = {
        quality : quality,
        destinationType : Camera.DestinationType.DATA_URL,
        sourceType : Camera.PictureSourceType.CAMERA,
        allowEdit : true,
        encodingType: Camera.EncodingType.JPEG,
        mediaType: Camera.MediaType.PICTURE,
        targetWidth: targetWidth,
        targetHeight: targetHeight,
        saveToPhotoAlbum: saveToPhotoAlbum
    };
    

    我建议您使用 JPEG 而不是 PNG。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多