android - 无法读取未定义的属性 'getPicture' - ionic 相机

标签 android angularjs cordova yeoman ionic-framework

此代码返回:

 Cannot read property 'getPicture' of undefined

不知道我做错了什么,你能帮我看看代码吗?

我的应用:

angular.module('Todo', ['ionic', 'Todo.controllers','ngStorage', 'Todo.services', 'ngCordova'])

我的 Controller :

.controller('profileEditCtrl', function($scope,Camera, $localStorage,
 $cordovaCamera) 
     {  
        $scope.$storage = $localStorage.$default({ data:[]});

    $scope.takePicture = function() 
    {
        navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
            destinationType: Camera.DestinationType.DATA_URL }); 

      function onSuccess(imageData) {
        var image = document.getElementById('myImage');
        image.src ="data:image/jpeg;base64," + imageData;       
    }

    function onFail(message) {
        alert('Failed because: ' + message);
    }       

}});

最佳答案

  • 您的代码是正确的,只需使用 ng-click="takePicture()" 添加一个 html 按钮。

  • 这里没有问题,肯定是浏览器 ”无法读取 属性 'getPicture' of undefined" 因为它没有配置 对于您定义的移动相机,这意味着您应该在 一个真实的设备使用:

    > ionic run android.

  • 请注意,Google Chrome 的新更新有一项新功能 帮助您在浏览器上测试您的设备,如果它连接到 PC/笔记本电脑,用于测试转到 chrome 的导航面板 >> 更多工具 >> 检查设备 或者直接转到此链接:

    chrome://inspect/#devices

  • 如果您在应用程序中安装插件 cordova plugin add org.apache.cordova.camera,我相信您的相机将正常工作,
    我希望这可以帮助你。

关于android - 无法读取未定义的属性 'getPicture' - ionic 相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975225/

相关文章:

android - 状态栏通知不显示?

java - 在 android/java 中将字符串转换为 URL

java - 查找触发日志的位置

javascript - 无法在 Angular/Express 中发布

javascript - AngularJs:我想从数组或列表中添加一个类,为 ng-repeat 内的每次迭代

android - Cordova 2.8.0-如何在Android中使用camera.direction.front?可以提供一些工作代码吗?

android - 在 Android Activity 上调用 finish() 并没有真正完成

javascript - Yeoman 生成器 Angular 构建任务无法正常工作

调用 Android Phonegap : Google Map marker not immediately removed when marker. setMap(null)

iphone - Phonegap 地理位置错误 : timeout