这吓坏了我。我有一个简单的应用程序,你按下一个按钮,它拍了一张照片,然后用户可以做其他的东西,但问题是有时候getPicture函数被忽略而摄像头从不显示,这里有一些信息和简单的代码:
$ ionic info
Your system information:
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.10.2
Xcode version: Xcode 8.3.2 Build version 8E2002
Installed platforms:
android 6.0.0
ios 4.3.1
已安装插件
$ ionic plugin ls
WARN: ionic.project has been renamed to ionic.config.json, please rename it.
com.googlemaps.ios 2.1.1 "Google Maps SDK for iOS"
cordova-plugin-camera 2.4.0 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.3 "Console"
cordova-plugin-device 1.1.2 "Device"
cordova-plugin-file 4.3.1 "File"
cordova-plugin-file-transfer 1.6.1 "File Transfer"
cordova-plugin-geolocation 2.4.2 "Geolocation"
cordova-plugin-googlemaps 1.4.0 "phonegap-googlemaps-plugin"
cordova-plugin-screen-orientation 1.4.2 "Screen Orientation"
cordova-plugin-splashscreen 3.2.2 "Splashscreen"
cordova-plugin-statusbar 2.1.3 "StatusBar"
cordova-plugin-whitelist 1.2.2 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
然后我们有一个带有此按钮的HTML
<button class="button button-full button-positive" ng-click="take_picture()">Take photo</button>
将功能导入控制器
$scope.take_picture = function()
{
screen.lockOrientation('portrait');
var options = {
quality: 25,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG,
saveToPhotoAlbum: false,
correctOrientation: true,
allowEdit: false,
targetHeight: 200,
targetwidth: 200
};
$cordovaCamera.getPicture(options).then(function(imageURI) {
$scope.image_uri = imageURI;
$scope.marcar_gps();
$cordovaCamera.cleanup();
}, function(err) {
console.log('error ',err);
$cordovaCamera.cleanup();
$ionicLoading.hide();
});
};
希望有人可以提供帮助。 最好!
修改
在xCode控制台上跳过相机时,我得到了这个: 警告:尝试出示已经提交的内容
答案 0 :(得分:0)
避免使用DATA_URL destinationType并将其替换为FILE_URI,因为它可能会消耗旧手机上的大量内存。当您使用FILE_URI作为destinationType时,您可以使用cordova文件插件将图像传输到外部/内部存储,然后您可以将图像src链接调用到您的本地设备URL。
修改
相机插件和方向插件不是最新的。因此需要将版本2.4.0“Camera”和1.4.2“Screen Orientation”更新为2.4.1“Camera”和2.0.1“Screen Orientation”