我試圖創建一個使用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