【发布时间】:2017-05-04 11:37:16
【问题描述】:
这把我吓坏了。我有一个简单的应用程序,您可以在其中按下按钮并拍照,然后用户可以做其他事情,但问题是有时会忽略 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 控制台上跳过相机时,我得到了这个: 警告:尝试展示已经展示的对象
【问题讨论】:
标签: ionic-framework plugins cordova-plugins