我试图创建一个使用ionic framework一个应用程序,并ngCordovangCordova不承认相机,手电筒,或Android手机的其他部分
我按照说明来让相机通过
- 工作与凉亭安装ngCordova
- 包括ngCordova.js在脚本标签前 ngCordova.js
- 与安装必要的插件
我从文档的示例代码包含在我的主控制器:
var options = {
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
};
$cordovaCamera.getPicture(options).then(function(imageData) {
// Success! Image data is here
}, function(err) {
// An error occured. Show a message to the user
});
我然后使用离子平台添加的Android添加Android作为一个平台,然后在我的手机使用运行应用程序“离子运行“,而我的LG G2手机通过USB连接。问题是,它不起作用。我收到以下错误:
ReferenceError: Camera is not defined
at new <anonymous> (file:///android_asset/www/js/app.js:36:45)
at invoke (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:11591:17)
at Object.instantiate (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:11602:23)
at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:14906:28
at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:14295:34
at forEach (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:7957:20)
at nodeLinkFn (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:14282:11)
at compositeLinkFn (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13730:13)
at compositeLinkFn (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13733:13)
at publicLinkFn (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13626:30)
要弄清楚它是否与ngCordova不对劲作为一个整体,或者只是具体的拍照功能,我也试图让手电筒用相同的步骤工作,用手电筒示例代码:
变种isAvailable = $ cordovaFlashlight.available()
$ cordovaFlashlight.switchOn() 。然后( 函数(成功){/ *成功/}, 函数(误差){/呃ror * /});
当我试图运行这个,我得到一个类似的错误。
TypeError: Cannot read property 'flashlight' of undefined
at Object.available (file:///android_asset/www/lib/ngCordova/dist/ng-cordova.js:1243:23)
at new <anonymous> (file:///android_asset/www/js/app.js:36:42)
at invoke (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:11591:17)
at Object.instantiate (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:11602:23)
at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:14906:28
at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:14295:34
at forEach (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:7957:20)
at nodeLinkFn (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:14282:11)
at compositeLinkFn (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13730:13)
at compositeLinkFn (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13733:13)
有谁知道会发生什么事?我觉得我已经正确地遵循了文档中列出的步骤。 (作为一个完整的检查,我试着记录window.cordova的值来检查它是否真的存在,但是有趣的是,cordova.plugins属性是一个只包含属性“Keyboard”的对象。我本来期望它也有某种参照照相机和手电筒了。也许这事做的问题?)
你是否将引用插入到你的控制器?也许如果你发布控制器的完整代码.. – Mike 2014-11-09 14:44:14
同样的问题。脚本顺序:1.角,2. ngcordova,3.科尔多瓦。添加ngCordova作为模块依赖项,Flashlight列在'$ cordova plugins'下,当然我使用'cordovaFlashlight'的注入。否则你会有另一个错误。 – LuckyLikey 2016-01-19 14:15:43
做检查,如果oyu做了相同的东西。 – LuckyLikey 2016-01-19 14:17:24