Onsenui:滑动菜单+摄像头



我正在使用monaca ide开发一个简单的应用程序,使用onsenui的滑动菜单我发现通常当我拍摄照片时重新加载页面,所以照片不会出现在页面上。似乎是随机的,有时发生有时不发生,我能找到原因。任何想法?

更新:

这里你可以看到action是handle的控制器:

var appControllers = angular。模块("有一个",[]);

appControllers
    .controller('parkingCtrl',  [
        '$scope',
        'appGlobals',
        function($scope, appGlobals) {
            $scope.snapPhoto = function() {
                navigator.camera.getPicture (onSuccess, onFail, {
                    quality: 50,
                    destinationType: Camera.DestinationType.FILE_URI,
                    targetWidth: 100
                });

            //A callback function when snapping picture is success.
            function onSuccess (imageURI) {
                $scope.$apply(function(){
                     $scope.imageURI = imageURI;
                });
            }
            //A callback function when snapping picture is fail.
            function onFail (message) {
                alert ('Error occured: ' + message);
            }
        }
    ])

我猜Android也是这样。

当你调用拍照函数时,相机应用会接管,现在你的应用在后台。如果你拍大照片,而你的设备内存小,你的设备将处于低内存状态,它必须杀死一些后台应用程序来释放内存。在某些情况下,你的应用程序被杀死,当你从相机应用程序返回时,你的应用程序重新启动。

一种解决方法是限制图片的质量或大小。

这是对api的引用:

http://docs.phonegap.com/en/2.9.0/cordova_camera_camera.md.html相机

navigator.camera.getPicture(onPhotoDataSuccess, 
                            onFail, 
                            { quality: 75, 
                              allowEdit: true,
                              destinationType: destinationType.DATA_URL,
                              targetWidth: 100,
                             }
 );

以下是完整的选项:

{ quality : 75,
  destinationType : Camera.DestinationType.DATA_URL,
  sourceType : Camera.PictureSourceType.CAMERA,
  allowEdit : true,
  encodingType: Camera.EncodingType.JPEG,
  targetWidth: 100,
  targetHeight: 100,
  popoverOptions: CameraPopoverOptions,
  saveToPhotoAlbum: false };

但你的情况不同…

1)你的PIC可能这么大。所以你不应该只对页面进行reload,而应该对页面进行hard reload右键点击返回键

相关内容

  • 没有找到相关文章

最新更新