【发布时间】: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 ?