Javascript 正在尝试构建Chrome Cordova应用程序,但导航器未定义

Javascript 正在尝试构建Chrome Cordova应用程序,但导航器未定义,javascript,android,google-chrome,cordova,Javascript,Android,Google Chrome,Cordova,我正在构建一个Chrome Cordova应用程序,Chrome应用程序API中的一切都很好,但我正在尝试做一些更高级的事情,比如拍照或读取加速度计数据 我的应用程序运行正常,但导航器似乎未定义 下面是我试图访问加速计的代码片段: $scope.picture = function(){navigator.accelerometer.getCurrentAcceleration( function (acceleration) { alert('Acceleration

我正在构建一个Chrome Cordova应用程序,Chrome应用程序API中的一切都很好,但我正在尝试做一些更高级的事情,比如拍照或读取加速度计数据

我的应用程序运行正常,但导航器似乎未定义

下面是我试图访问加速计的代码片段:

 $scope.picture = function(){navigator.accelerometer.getCurrentAcceleration( function (acceleration) {
            alert('Acceleration X: ' + acceleration.x + '\n' +
                  'Acceleration Y: ' + acceleration.y + '\n' +
                  'Acceleration Z: ' + acceleration.z + '\n' +
              'Timestamp: '      + acceleration.timestamp + '\n');
        },function () {}); }
    });
以下是一些相关的logcat信息:

D/CordovaLog(17498): chrome-extension://klfmkipmoapfodoemajgpobgjngbdejp/angular
.min.js: Line 86 : TypeError: Cannot call method 'getCurrentAcceleration' of und
efined
D/CordovaLog(17498):     at h.$scope.picture (chrome-extension://klfmkipmoapfodo
emajgpobgjngbdejp/controllers.js:31:53)
D/CordovaLog(17498):     at chrome-extension://klfmkipmoapfodoemajgpobgjngbdejp/
angular.min.js:166:92
D/CordovaLog(17498):     at chrome-extension://klfmkipmoapfodoemajgpobgjngbdejp/
angular.min.js:183:83
D/CordovaLog(17498):     at h.$eval (chrome-extension://klfmkipmoapfodoemajgpobg
jngbdejp/angular.min.js:104:370)
D/CordovaLog(17498):     at h.$apply (chrome-extension://klfmkipmoapfodoemajgpob
gjngbdejp/angular.min.js:105:121)
D/CordovaLog(17498):     at HTMLAnchorElement.<anonymous> (chrome-extension://kl
fmkipmoapfodoemajgpobgjngbdejp/angular.min.js:183:65)
D/CordovaLog(17498):     at HTMLAnchorElement.jQuery.event.dispatch (chrome-exte
nsion://klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:3074:9)
D/CordovaLog(17498):     at HTMLAnchorElement.elemData.handle (chrome-extension:
//klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:2750:28)
I/chromium(17498): [INFO:CONSOLE(86)] "TypeError: Cannot call method 'getCurrent
Acceleration' of undefined
I/chromium(17498):     at h.$scope.picture (chrome-extension://klfmkipmoapfodoem
ajgpobgjngbdejp/controllers.js:31:53)
I/chromium(17498):     at chrome-extension://klfmkipmoapfodoemajgpobgjngbdejp/an
gular.min.js:166:92
I/chromium(17498):     at chrome-extension://klfmkipmoapfodoemajgpobgjngbdejp/an
gular.min.js:183:83
I/chromium(17498):     at h.$eval (chrome-extension://klfmkipmoapfodoemajgpobgjn
gbdejp/angular.min.js:104:370)
I/chromium(17498):     at h.$apply (chrome-extension://klfmkipmoapfodoemajgpobgj
ngbdejp/angular.min.js:105:121)
I/chromium(17498):     at HTMLAnchorElement.<anonymous> (chrome-extension://klfm
kipmoapfodoemajgpobgjngbdejp/angular.min.js:183:65)
I/chromium(17498):     at HTMLAnchorElement.jQuery.event.dispatch (chrome-extens
ion://klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:3074:9)
I/chromium(17498):     at HTMLAnchorElement.elemData.handle (chrome-extension://
klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:2750:28)", source: chrome-exten
sion://klfmkipmoapfodoemajgpobgjngbdejp/angular.min.js (86)
I/CordovaLog(17498): Found start page location: plugins/org.chromium.bootstrap/c
hromeapp.html
D/CordovaLog(17498):铬合金-extension://klfmkipmoapfodoemajgpobgjngbdejp/angular
.min.js:第86行:TypeError:无法调用und的方法“getCurrentAcceleration”
定义
D/CordovaLog(17498):高$scope.picture(铬合金)-extension://klfmkipmoapfodo
emajgpobgjngbdejp/controllers.js:31:53)
D/CordovaLog(17498):铬合金-extension://klfmkipmoapfodoemajgpobgjngbdejp/
angular.min.js:166:92
D/CordovaLog(17498):铬合金-extension://klfmkipmoapfodoemajgpobgjngbdejp/
angular.min.js:183:83
D/CordovaLog(17498):高$eval(铬)-extension://klfmkipmoapfodoemajgpobg
jngbdejp/angular.min.js:104:370)
D/CordovaLog(17498):高$apply(铬)-extension://klfmkipmoapfodoemajgpob
gjngbdejp/angular.min.js:105:121)
D/CordovaLog(17498):在HTMLAnchorElement。(铬-extension://kl
fmkipmoappfodoemajgpobgjngbdejp/angular.min.js:183:65)
D/CordovaLog(17498):位于htmlanchorement.jQuery.event.dispatch(chrome exte
nsion://klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:3074:9)
D/CordovaLog(17498):位于htmlanchorement.elemData.handle(chrome扩展名:
//klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:2750:28)
I/chromium(17498):[INFO:CONSOLE(86)]“类型错误:无法调用方法'getCurrent
未定义的加速度
I/铬(17498):高$scope.picture(铬)-extension://klfmkipmoapfodoem
ajgpobgjngbdejp/controllers.js:31:53)
I/铬(17498):在铬-extension://klfmkipmoapfodoemajgpobgjngbdejp/an
古拉明js:166:92
I/铬(17498):在铬-extension://klfmkipmoapfodoemajgpobgjngbdejp/an
古拉明js:183:83
I/铬(17498):在高$eval时(铬)-extension://klfmkipmoapfodoemajgpobgjn
gbdejp/angular.min.js:104:370)
I/铬(17498):在高$apply(铬)-extension://klfmkipmoapfodoemajgpobgj
ngbdejp/angular.min.js:105:121)
I/铬(17498):在HtmLanchoreElement(铬)-extension://klfm
kipmoapfodoemajgpobgjngbdejp/angular.min.js:183:65)
I/chromium(17498):位于htmlanchorement.jQuery.event.dispatch(chrome扩展名
ion://klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:3074:9)
I/chrome(17498):位于htmlanchorement.elemData.handle(chrome扩展://
klfmkipmoapfodoemajgpobgjngbdejp/jquery-1.9.1.js:2750:28)”,来源:chrome exten
sion://klfmkipmoapfodoemajgpobgjngbdejp/angular.min.js (86)
I/CordovaLog(17498):找到起始页位置:plugins/org.chromium.bootstrap/c
chromeapp.html
我完全理解,我最终需要使用垫片,因为navigator只能在移动设备上工作。我只是想先让手机用例正常工作。

解决了这个问题。(我以前从未使用过科尔多瓦)。显然,你必须安装一个插件才能访问Cordova功能。现在我知道了

解决办法是:

$ cordova plugin add org.apache.cordova.device-motion