2015-08-29 5 views
2

Ионные AngularJS Кордова приложение работает на AndroidКордова Android вызвано слушателей событий

У меня есть сервис, который inits некоторых слушателей событий. Некоторая работа, в то время как две из них приводят к сбою приложения с ошибкой logcat

Uncaught Функция требуется в качестве первого аргумента!

Функция регистрации обработчиков событий

var _init = function() { 
     var onDeviceReady = function() { 
      _startCamera(); 
      window.addEventListener('orientationchange', _startCamera); 
      document.addEventListener('pause', _stopCamera(), false); // causes crash on start 
      document.addEventListener('resume', _startCamera(), false); // causes crash on start 
     }; 
     document.addEventListener('deviceready', onDeviceReady, false); 
    }; 

слушателей событий для deviceready и orientationchange работы; однако, если я оставлю их в паузах или возобновит сбой приложений. Если я прокомментирую обе эти строки, приложение работает нормально.

Мои DEFS для _startCamera и _stopCamera

var _stopCamera = function() { 
     ... 
    }; 

var _startCamera = function() { 
     ... 
    }; 

Я попытался:

  1. Изменение объявления функций, чтобы быть _stopCamera function() { ... } вместо этого, никаких изменений
  2. Объявив эти две функции до или после _init, без изменений
  3. Размещаем два вопроса addEventListeners как вне onDeviceReady, так и внутри, без изменений

- Как я могу решить вопрос о том, что Кордова утверждает, что это вызов плохой функции?

ответ

5

Вы используете эти обработчики вместо их передачи. Снимите ().

document.addEventListener('pause', _stopCamera, false); 
document.addEventListener('resume', _startCamera, false); 
+0

Hahahaha спасибо @ Даниэль, кажется, это всегда глупые мелочи :) –

Смежные вопросы