code: function (successCallback, errorCallback, options) {
          argscheck.checkArgs('fFO', 'accelerometer.getCurrentAcceleration', arguments);
  
          if (cordova.platformId === "windowsphone") {
              exec(function (a) {
                  accel = new Acceleration(a.x, a.y, a.z, a.timestamp);
                  successCallback(accel);
              }, function (e) {
                  errorCallback(e);
              }, "Accelerometer", "getCurrentAcceleration", []);
  
              return;
          }
  
          if (cordova.platformId === "browser" && !eventTimerId) {
              // fire devicemotion event once
              var devicemotionEvent = new Event('devicemotion');
              window.setTimeout(function() {
                  window.dispatchEvent(devicemotionEvent);
              }, 200);
          }
  
          var p;
          var win = function (a) {
              removeListeners(p);
              successCallback(a);
          };
          var fail = function (e) {
              removeListeners(p);
              if (errorCallback) {
                  errorCallback(e);
              }
          };
  
          p = createCallbackPair(win, fail);
          listeners.push(p);
  
          if (!running) {
              start();
          }
      }
docs: Asynchronously acquires the current acceleration.
  
  @param {Function} successCallback    The function to call when the acceleration data is available
  @param {Function} errorCallback      The function to call when there is an error getting the acceleration data. (OPTIONAL)
  @param {AccelerationOptions} options The options for getting the accelerometer data such as timeout. (OPTIONAL)