首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略离子相机插件getPicture

忽略离子相机插件getPicture
EN

Stack Overflow用户
提问于 2017-05-02 14:11:52
回答 1查看 463关注 0票数 0

这真让我抓狂。我有一个简单的应用程序,你按下一个按钮,它可以拍照,然后用户可以做其他事情,但问题是,有时getPicture功能被忽略,相机永远不会显示,这里有一些信息和简单的代码:

代码语言:javascript
复制
$ 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

已安装插件

代码语言:javascript
复制
$ 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

代码语言:javascript
复制
<button class="button button-full button-positive" ng-click="take_picture()">Take photo</button>

和控制器中的函数

代码语言:javascript
复制
$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控制台上跳过照相机时,我得到以下警告:尝试呈现已经显示在其中的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-02 15:50:15

避免使用DATA_URL destinationType,并将其替换为FILE_URI,因为它可能会消耗大量旧手机上的内存。当您使用FILE_URI作为destinationType时,您可以使用cordova文件插件将图像传输到外部/内部存储,然后可以将映像src链接调用到本地设备url。

编辑

相机插件和定位插件并不是最新的。因此,需要它从2.4.0版本的“摄像机”和1.4.2“屏幕方向”更新到2.4.1“摄像机”和2.0.1“屏幕方向”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43740080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档